Hearty Tomato Soup Recipe
I remember the first time I served this soup to guests. I had spent the afternoon roasting tomatoes until their skins blistered and their sugars concentrated into something almost jam-like. When I brought the bowls to the table, one friend paused, spoon suspended mid-air, and said, ‘This tastes like a restaurant dish.’ That moment changed how I thought about tomato soup — it was no longer a simple lunch from a can, but a dish worthy of a dinner party. This hearty tomato soup recipe is the one I now turn to when I want to impress without spending hours in the kitchen.
Recipe Overview
- Prep Time: 15 minutes
- Cook Time: 45 minutes
- Total Time: 1 hour
- Servings: 4 to 6
- Difficulty: Easy
Why You’ll Love This Hearty Tomato Soup Recipe
- Restaurant-quality presentation: With a swirl of cream, a drizzle of good olive oil, and a sprinkle of fresh herbs, this soup looks stunning in a shallow bowl.
- Deep, layered flavour from roasting: Roasting the tomatoes and garlic brings out a natural sweetness and smoky depth that no quick stovetop method can match.
- Silky texture without cream overload: A small amount of double cream or crème fraîche gives richness without masking the tomato flavour.
- Make-ahead friendly: This soup tastes even better the next day, making it perfect for entertaining without last-minute stress.
- Easily customisable for dietary needs: Swap the cream for coconut milk or leave it out entirely for a vegan option that still feels luxurious.
Ingredients You’ll Need
- 1.5 kg ripe plum tomatoes, halved lengthways
- 6 cloves garlic, skin on
- 2 tablespoons olive oil, plus extra for drizzling
- 1 large onion, finely chopped
- 2 sticks celery, finely diced
- 1 large carrot, peeled and diced
- 1 litre chicken or vegetable stock
- 2 tablespoons tomato purée
- 1 teaspoon caster sugar
- 100 ml double cream or crème fraîche
- Salt and freshly ground black pepper, to taste
- Fresh basil leaves, for garnish
- Parmesan shavings, for serving (optional)
Tip: Use the ripest tomatoes you can find. If fresh tomatoes are out of season, substitute with 2 x 400g tins of good-quality whole plum tomatoes, drained. The roasting step still applies to tinned tomatoes, though reduce the roasting time to 20 minutes.
How to Make Hearty Tomato Soup Recipe
- Preheat your oven to 200°C (180°C fan). Arrange the halved tomatoes and garlic cloves on a large baking tray, cut sides up. Drizzle with 1 tablespoon of olive oil and season with salt and pepper. Roast for 30–35 minutes, until the tomatoes are softened and their edges begin to char. You’ll know they’re ready when the kitchen smells intensely sweet and the tomato skins have wrinkled and blistered.
- While the tomatoes roast, prepare the base. Heat the remaining 1 tablespoon of olive oil in a large, heavy-bottomed saucepan over a medium heat. Add the onion, celery, and carrot. Cook for 8–10 minutes, stirring occasionally, until the vegetables are soft and translucent. The onion should look golden at the edges, and the carrot should yield easily when pressed with a spoon.
- Add the tomato purée and sugar. Stir the purée into the softened vegetables and cook for 2 minutes. This step deepens the colour to a rich brick red and concentrates the savoury flavour. The sugar balances the tomatoes’ acidity without making the soup taste sweet.
- Remove the roasted tomatoes from the oven. Squeeze the garlic cloves out of their skins — they should be soft and buttery. Add the roasted tomatoes and garlic to the saucepan. The tomatoes will release a little juice; scrape all of that into the pan too.
- Pour in the stock. Add the stock, bring to a gentle boil, then reduce the heat to low. Simmer uncovered for 20 minutes. The liquid will reduce slightly and the flavours will meld. The soup should smell deeply savoury at this point, with the brightness of the tomatoes still coming through.
- Blend until silky. Use a stick blender directly in the pot, or transfer the soup in batches to a blender. Blend until completely smooth. The texture should be velvety, with no visible bits of skin or seeds. If using a blender, be careful not to fill it more than halfway, and cover the lid with a tea towel to avoid splashes.
- Finish with cream and adjust seasoning. Stir in the double cream or crème fraîche. Taste and adjust salt and pepper. The soup should look a pale, elegant orange and have a glossy sheen on the surface.
- Serve with style. Ladle the soup into warm shallow bowls. Add a swirl of extra cream, a drizzle of olive oil, and a few basil leaves. Top with Parmesan shavings if using. Serve immediately, with crusty bread or a side of your choice.
Tips From My Kitchen
- Roast on a single layer: Overcrowding the baking tray traps steam and prevents the tomatoes from caramelising. Use two trays if needed. The goal is concentrated, not steamed, tomatoes.
- Don’t skip the celery and carrot: These aromatics add natural sweetness and body. They’re the foundation of the soup’s savoury depth, so don’t be tempted to use only onion.
- Taste before blending with cream: The cream can mask subtle seasoning issues. Adjust salt and pepper before adding the dairy, then taste again afterward.
- Make it ahead for better flavour: Like many soups, this one improves overnight. The flavours marry and deepen. If serving the next day, reheat gently over a low heat, adding a splash of stock or water if it has thickened too much.
- For a smoother texture, pass through a sieve: If you want an ultra-refined, restaurant-style soup, pour the blended soup through a fine-mesh sieve before adding the cream. This removes any remaining fibre or seeds.
Common Mistakes to Avoid
- Overcrowding the pan: When sautéing the vegetables, give them room to soften without steaming. A crowded pan traps moisture and prevents the edges from browning. Use a large enough saucepan and cook in batches if your pan is small.
- Wrong temperature: Roast the tomatoes at a high enough temperature — 200°C is ideal. Too low, and they will dry out before they caramelise. Too high, and the skins will burn before the flesh softens.
- Skipping the rest time: Letting the soup sit for 10 minutes after blending allows the flavours to settle. If you serve it immediately, the acidity can taste sharp and the cream may not have fully incorporated.
Delicious Variations to Try
- Spicy Version: Add 1 teaspoon of smoked paprika and a pinch of chilli flakes when you sauté the onion and celery. For extra heat, stir in a finely chopped red chilli along with the roasted tomatoes.
- Vegetarian/Vegan Option: Use vegetable stock and replace the double cream with full-fat coconut milk or a cashew cream. The coconut milk adds a subtle sweetness that complements the roasted tomatoes beautifully.
- Different Protein: For a heartier meal, stir in shredded cooked chicken or leftover roast lamb just before serving. The soup pairs especially well with the spices in this Lamb Kofta Recipe Grilled Spiced — simply crumble the kofta on top.
What to Serve With Hearty Tomato Soup Recipe
- Crusty sourdough bread with salted butter
- Grilled cheese sandwiches made with mature cheddar and a hint of Dijon mustard
- A simple green salad with a sharp vinaigrette to cut through the richness
- Freshly baked breadsticks or focaccia
Frequently Asked Questions

Hearty Tomato Soup Recipe
Ingredients
Method
- Preheat your oven to 200°C (180°C fan). Arrange the halved tomatoes and garlic cloves on a large baking tray, cut sides up. Drizzle with 1 tablespoon of olive oil and season with salt and pepper. Roast for 30–35 minutes, until the tomatoes are softened and their edges begin to char. You'll know they're ready when the kitchen smells intensely sweet and the tomato skins have wrinkled and blistered.
- While the tomatoes roast, prepare the base. Heat the remaining 1 tablespoon of olive oil in a large, heavy-bottomed saucepan over a medium heat. Add the onion, celery, and carrot. Cook for 8–10 minutes, stirring occasionally, until the vegetables are soft and translucent. The onion should look golden at the edges, and the carrot should yield easily when pressed with a spoon.
- Add the tomato purée and sugar. Stir the purée into the softened vegetables and cook for 2 minutes. This step deepens the colour to a rich brick red and concentrates the savoury flavour. The sugar balances the tomatoes' acidity without making the soup taste sweet.
- Remove the roasted tomatoes from the oven. Squeeze the garlic cloves out of their skins — they should be soft and buttery. Add the roasted tomatoes and garlic to the saucepan. The tomatoes will release a little juice; scrape all of that into the pan too.
- Pour in the stock. Add the stock, bring to a gentle boil, then reduce the heat to low. Simmer uncovered for 20 minutes. The liquid will reduce slightly and the flavours will meld. The soup should smell deeply savoury at this point, with the brightness of the tomatoes still coming through.
- Blend until silky. Use a stick blender directly in the pot, or transfer the soup in batches to a blender. Blend until completely smooth. The texture should be velvety, with no visible bits of skin or seeds. If using a blender, be careful not to fill it more than halfway, and cover the lid with a tea towel to avoid splashes.
- Finish with cream and adjust seasoning. Stir in the double cream or crème fraîche. Taste and adjust salt and pepper. The soup should look a pale, elegant orange and have a glossy sheen on the surface.
- Serve with style. Ladle the soup into warm shallow bowls. Add a swirl of extra cream, a drizzle of olive oil, and a few basil leaves. Top with Parmesan shavings if using. Serve immediately, with crusty bread or a side of your choice.
Notes
I hope this hearty tomato soup recipe becomes a staple in your entertaining repertoire. Friends always ask me for this recipe after trying it at dinner parties, and I love watching their surprise when they learn how simple it is. If you give it a try, let me know how you served it — I’m always looking for new ideas to elevate a bowl of soup. Leave a comment below and share your experience.

