Soups & Stews
This awesome tomato soup recipe transforms humble ingredients into a velvety masterpiece with deep smoky notes and a herby crisp finish. The secret lies in roasting the tomatoes first—caramelizing their natural sugars and intensifying their flavor before blending them into a silky, aromatic base. I developed this recipe after years of experimenting with different techniques, and it consistently delivers restaurant-quality results at home.
The process is straightforward but packed with flavor-building steps: roasting the tomatoes for concentrated sweetness, sautéing aromatics like garlic and onions, and balancing the acidity with a touch of cream and fresh herbs. The result is a soup that’s rich yet light, with a texture that’s smooth yet satisfying. This isn’t just tomato soup—it’s a comforting, deeply flavorful dish that pairs perfectly with crusty bread or a simple green salad.
What makes this recipe truly special is its versatility. You can easily adapt it to suit dietary preferences—use vegetable broth for a vegetarian version or coconut milk for a vegan twist. The smoky depth and herby crisp come through whether you serve it as a light lunch or a cozy dinner. The garnishes—like crispy croutons or a swirl of cream—add texture and visual appeal, making it feel like a restaurant-worthy meal.
Ready in under an hour, this soup is perfect for weeknight dinners or meal prep. The flavors only deepen as it sits, so it’s ideal for making ahead and reheating. Whether you're a seasoned cook or a beginner, this recipe delivers foolproof, delicious results every time. Let’s get started!
Ingredients for awesome tomato soup
Roasted tomatoes, aromatic herbs, and velvety cream transform simple ingredients into restaurant-quality tomato soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh Roma Tomatoes 🍅 | 2 lb | Halved, seeds removed |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Garlic Cloves 🧄 | 4 cloves | Peeled, roughly chopped |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Extra-Virgin Olive Oil 🫒 | ¼ cup | For roasting tomatoes |
| Smoked Paprika 🌶️ | 1 tsp | For smoky depth |
| Fresh Thyme Leaves 🌿 | ¼ cup | Or 1 tbsp dried thyme |
| Fresh Basil Leaves 🌿 | ¼ cup | Chopped for herby crisp |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Crusty Bread 🍞 | 4 slices | For serving, optional |
The tomatoes are the foundation—Roma have fewer seeds and more flavor than beefsteak varieties. Whole Foods or local farmers markets often carry the best quality, but any grocery store Roma will work. Roasting them first caramelizes their natural sugars, creating that deep, smoky sweetness that separates this from ordinary tomato soup. Look for tomatoes that are firm but yield slightly when pressed—vibrant red color is key. If you can't find Roma, heirloom tomatoes are a great alternative, though they'll have more seeds to remove. I always buy mine when they're in peak season (summer) and freeze extras for winter soups.
No fresh thyme? Dried works at one-third the amount, but the flavor won't be as bright. The smoked paprika is non-negotiable for that restaurant-quality depth—Penzeys has excellent options if you want to splurge, but the regular grocery store stuff is fine. Substituting vegetable broth for chicken broth keeps this vegetarian-friendly, though the flavor profile shifts slightly. For a vegan version, replace the heavy cream with full-fat coconut milk—it adds a lovely richness. The basil should be fresh if possible; dried won't give that herby crisp finish. If you're short on time, baby spinach can be used at the same amount for a different but still delicious twist.
This soup tastes even better the next day as the flavors meld. Store in an airtight container in the fridge for up to 5 days, though I rarely let it last that long. For freezing, portion into 1-cup servings—reheat gently on the stove with a splash of water or broth. The crusty bread? Sourdough or a good baguette from the bakery section works best. If you're making this ahead for a gathering, prepare the soup up to the blending step, then reheat and finish with the cream and herbs just before serving to maintain that herby crisp texture.
Why You'll Love This Recipe
- No Chopping Hassle: The onions and garlic take two minutes to mince—no tears, no fuss. I just pulse them in the food processor while the tomatoes roast, and suddenly I’ve saved myself 15 minutes of prep. (Yes, even on a Tuesday night.)
- Creamy Without Trying: That heavy cream at the end? It’s the magic trick—smooths out the acidity from the Roma tomatoes while keeping the bright, fresh flavor. Honestly, the first time I skipped it, I regretted it instantly.
- Leftovers That Shine: This soup actually improves the next day. The flavors meld, the cream gets even richer, and it reheats like a dream. I make a double batch on Sundays because by Thursday, I’m craving it again.
- Budget-Friendly Luxury: Fresh tomatoes and onions cost next to nothing, but the heavy cream and broth make it feel like a restaurant dish. Between us, this is the recipe I pull out when I want to impress guests—or myself—without breaking the bank.
Step-by-step instructions for smoky roasted tomato soup
Transform simple ingredients into restaurant-quality tomato soup with deep smoky flavor and velvety texture.
Roast Tomatoes and Aromatics for Maximum Flavor
Preheat your oven to 425°F and line a large baking sheet with parchment paper. Arrange the halved fresh Roma tomatoes cut-side up, leaving space between each half. Drizzle evenly with 0.25 cup extra-virgin olive oil and sprinkle with 1 tsp smoked paprika, 1.5 tsp salt, and 0.5 tsp black pepper.
Toss the diced yellow onion and roughly chopped garlic cloves with the tomatoes, distributing them evenly. Roast for 25-30 minutes until the tomatoes collapse slightly and edges darken to deep golden brown. This roasting caramelizes natural sugars, creating the soup's rich foundation. Real talk: don't skip this step—it's what transforms ordinary tomatoes into extraordinary flavor.
Build the Soup Base with Roasted Vegetables
Transfer the roasted vegetables to a large pot and add the 4 cups vegetable broth. Bring to a gentle boil over medium-high heat, then reduce to medium-low and simmer for 10 minutes to meld flavors. Use an immersion blender to purée until completely smooth—no visible chunks should remain.
Strain through a fine-mesh sieve into a clean pot if you prefer extra silky texture. This step ensures your soup has that velvety mouthfeel without any fibrous tomato bits. I've found that Roma tomatoes—with their meaty texture—hold up beautifully to blending, giving you that authentic Italian restaurant consistency.
Add Herbs and Cream for Richness
Return the soup to medium heat and stir in the 0.25 cup fresh thyme leaves and 0.25 cup fresh basil leaves. Let it simmer for 5 minutes to infuse the herby aroma. Remove from heat and gently whisk in the 0.5 cup heavy cream—this adds luxurious body without overpowering the tomato flavor.
Here's the thing—adding cream at the end prevents it from curdling in the hot broth. Taste and adjust seasoning if needed, remembering that the smoked paprika and salt from the roasting will carry through. The soup should balance smoky depth with bright acidity and herbal freshness. Your oven might run hot, so start checking at the 20-minute mark if you're using a convection oven.
Finish and Serve with Crusty Bread
Let the soup rest for 10 minutes before serving—this allows flavors to fully develop. Ladle into bowls and serve immediately with the 4 slices crusty bread on the side for dipping. The bread's crispy texture contrasts beautifully with the soup's velvety finish.
For presentation, garnish each serving with a sprinkle of fresh basil leaves and a drizzle of extra-virgin olive oil. The oil adds visual appeal while enhancing the soup's natural richness. This is where the soup truly shines—simple yet sophisticated, with layers of flavor that keep coming back to you with each bite.
Pro Tips For Making Awesome Tomato Soup
- CHAR THE ONION LOW: I learned this the hard way—sautéing onions at high heat turns them bitter, and your soup ends up tasting like a sad office potluck. Use medium-low heat for 8-10 minutes until they’re translucent but not browned, or you’ll regret it when the sweetness disappears.
- ROAST TOMATOES FIRST: Skip the raw chopping and roast halved Roma tomatoes at 400°F (200°C) for 20 minutes—skin side down. The concentrated sweetness and caramelized edges make a world of difference, and you won’t spend 20 minutes peeling stubborn skins later.
- STRAIN THE BROTH: After simmering tomatoes, onions, and garlic in broth, strain the mixture through a fine-mesh sieve. This removes bitter seeds and pulp, giving you a silky texture instead of a chunky, uneven mess—especially important if you’re using heavy cream later.
- TEMPER THE CREAM: Cold heavy cream straight into hot soup? That’s a curdling disaster waiting to happen. Whisk in a ladle of hot soup first, then slowly add the cream while stirring constantly—this keeps the sauce smooth and rich, not lumpy.
Pro cooking tips for this dish
Roasting Perfection
Roasting tomatoes at 425°F for 25-30 minutes is non-negotiable for that deep caramelized flavor. I use a rimmed baking sheet with parchment paper to prevent sticking—this makes cleanup a breeze. The key is leaving space between tomatoes so they brown evenly, not steam. If your oven runs hot, check at 20 minutes to avoid over-roasting. 🔥
Blending Like a Pro
An immersion blender is my go-to for silky texture, but if you prefer a countertop model, work in batches and scrape down the sides. For extra-smooth soup, strain through a fine-mesh sieve after blending. I've found that Roma tomatoes blend more smoothly than beefsteak varieties, which can leave fibrous bits. Don't rush this step—proper blending ensures that velvety mouthfeel. 💫
Cream Timing Matters
Adding the heavy cream at the very end prevents curdling from the hot broth. Start with medium heat and whisk gently to incorporate. If your soup looks too thick after adding cream, thin it with a splash of warm broth. For a vegan version, use full-fat coconut milk instead—it adds richness without dairy. 🥛
Herb Infusion Trick
Simmer the fresh herbs for just 5 minutes—any longer and they'll turn bitter. I like to use a small piece of cheesecloth to strain out the thyme leaves after simmering, leaving just their aromatic oils behind. Fresh basil adds that herby crisp finish, so don't skip it! For extra depth, add a pinch of red pepper flakes while the herbs are simmering. 🌿
Acidity Balance
If your soup tastes too flat, a squeeze of fresh lemon juice (about 1 tsp) brightens the flavors. The roasted tomatoes should provide natural sweetness, but if needed, add a pinch of sugar to balance acidity. Taste as you go—this is where the magic happens! The smoked paprika adds depth, but don't overdo it or the soup will taste smoky rather than balanced. ✨
Make-Ahead Mastery
This soup tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days. For freezing, portion into 1-cup servings and reheat gently on the stove with a splash of broth. The cream may separate slightly when reheated—just whisk it back together before serving. Pro tip: Reheat to 165°F for food safety. ❄️
Nutrition facts
Frequently asked questions
Can I use canned tomatoes instead of fresh?
You can absolutely use canned tomatoes, but the flavor will be less complex. For best results, choose high-quality San Marzano tomatoes in their own juice. Roast them at 400°F for 15-20 minutes with olive oil, smoked paprika, and salt to develop depth. Drain and reserve the juice for extra richness. Fresh tomatoes give the best texture and flavor, but canned works in a pinch.
How do I adjust the thickness of the soup?
If your soup is too thick, thin it with warm vegetable broth (1-2 tablespoons at a time) until you reach your desired consistency. For a thicker texture, simmer uncovered for 5-10 extra minutes to reduce. The cream adds body, but blending the tomatoes longer also creates a silkier base. Always taste as you go—adjust gradually!
What if I don't have fresh herbs?
No problem! Use dried herbs at one-third the amount—so 1 teaspoon dried thyme instead of 0.25 cup fresh. For basil, dried won't give the same herby crisp, but you can substitute with 1 tablespoon dried oregano or 1 teaspoon basil extract (use sparingly). The flavor won't be identical, but it'll still be delicious.
Can I make this soup without cream?
Yes! For a lighter version, skip the cream and stir in 2 tablespoons olive oil at the end for richness. Or use coconut milk for a vegan option—it adds a lovely creaminess. The soup will still be flavorful, though the texture will be slightly thinner. The roasted tomatoes and herbs carry the depth, so don't worry about losing flavor!
How do I prevent the soup from getting bitter?
Over-roasting tomatoes or simmering herbs too long causes bitterness. Roast tomatoes for 25-30 minutes max and herbs for just 5 minutes. If your soup tastes bitter, balance it with a pinch of sugar or a splash of lemon juice. The smoked paprika adds depth, but use only 1 teaspoon—too much can overpower. Taste as you go to adjust!
