This cream of tomato soup turns a handful of pantry staples into the kind of bowl you crave on a cold evening. Rich, velvety, and deeply tomatoey, it tastes like it simmered on the stove all day but comes together in under an hour. The balance of sweet tomatoes, savory broth, and a splash of cream makes this version stand out from anything you'll find in a can.
Large Dutch oven or heavy-bottomed soup pot Heats evenly and holds temperature well
Immersion blender Or standard blender used in batches
Fine-mesh strainer Optional, for extra smooth finish
Wooden spoon
Measuring cups and spoons
Ladle
Ingredients
2tablespoonsunsalted butter
1medium yellow oniondiced
3garlic clovesminced
2tablespoonstomato paste
2tablespoonsall purpose flouror cornstarch mixed with cold water for gluten-free
2canswhole peeled San Marzano tomatoes28 ounces each, with their juices, DOP certified recommended
3cupsvegetable brothor chicken broth
1teaspoongranulated sugar
1bay leaf
0.5teaspoondried basilor a few fresh basil leaves
1cupheavy creamwarmed slightly before adding
Saltto taste
freshly ground black pepperto taste
For Serving (Optional)
fresh basilfor garnish
croutonsfor serving
Instructions
Set a large Dutch oven over medium heat and melt the butter. Add the diced onion and cook for 5-6 minutes until soft and translucent.
Add the minced garlic and cook for 30 seconds to 1 minute, stirring constantly. Stir in the tomato paste and cook for 2-3 minutes until it darkens and becomes fragrant.
Sprinkle in the flour and stir constantly for about 1 minute to cook off the raw taste. Slowly pour in the broth while whisking to prevent clumping.
Add both cans of tomatoes with their juices, breaking them up with a wooden spoon. Stir in the sugar, bay leaf, and dried basil.
Bring to a gentle boil, then reduce heat to medium-low and simmer uncovered for 25-30 minutes until thickened and flavorful. Remove and discard the bay leaf.
Using an immersion blender, blend the soup directly in the pot until completely smooth. For extra silky texture, strain through a fine mesh strainer.
Return the pot to low heat and slowly pour in the heavy cream, stirring constantly. Heat gently for 3-5 minutes, but do not let it boil.
Taste and season with salt and pepper as needed. Ladle into bowls and top with fresh basil and croutons if desired. Serve immediately.
Notes
Use canned whole tomatoes rather than pre-diced ones for a fresher, less metallic flavor.
Do not skip the sugar—it balances the natural acidity of the tomatoes.
Warm the cream slightly before adding so it blends in smoothly without cooling down the soup.
Add the cream at the very end and keep the heat low to prevent curdling.
Let the soup simmer the full 25-30 minutes; a shorter simmer leaves it tasting sharp and thin.
Blend thoroughly for the smoothest, most luxurious texture—an immersion blender works best.
For a dairy-free version, swap the heavy cream for full-fat coconut milk or cashew cream.
Store leftovers in an airtight container in the refrigerator for up to 4 days, or freeze for up to 3 months (best frozen before adding cream).
To make this recipe gluten-free, swap the flour for the same amount of cornstarch mixed with a little cold water.
For an extra silky, restaurant-style texture, strain the soup through a fine mesh strainer after blending.