My velvety smooth tomato soup recipe has an intense tomato flavor that’s balanced with a common pantry staple. This soup spends just 30 minutes on the stove, making it ideal for weeknight dinners or snow day lunches. Recipe includes a how-to video!
The Coziest, Most Perfect Homemade Tomato Soup Recipe
Soup weather is upon us, and I’m here for it. Not only do soups guarantee easy clean-up (one pot from start to finish!), they’re also incredibly hearty and cozy and perfect for sweater weather. Sometimes they’re just what your soul needs on a cold day!
Today’s tomato soup recipe is all of those things and more; it’s quick and easy to make, packed full of tomato flavor, and beautifully balanced, thanks to a few key ingredients we’ll discuss below (including one that might surprise you!).
As with my homemade salsa, pizza sauce, and marinara sauce, I opt for canned tomatoes in this tomato soup recipe, which means it’s perfect for these cold-weather nights when juicy summer tomatoes are a distant memory. I know some of you may be tempted to use fresh tomatoes, but I have several very good reasons for not using them, which you can in the frequently asked questions below.
Let’s dive in!
What You Need
Every ingredient in this tomato soup recipe was meticulously chosen to create a balanced symphony of flavor in every spoonful — seriously! While I do mention a few substitutions, it’s best to stick with the recipe as written for the best results.
- Butter. This is the base of our smooth, flavorful soup. Stick with unsalted because ideally we control the salt ourselves.
- Onion & garlic. For depth of flavor and some natural sweetness, we’ll start this soup out with some sautéed onion and garlic.
- Flour. A small amount of flour enriches the soup, contributing to the velvety smooth flavor and consistency.
- Chicken broth. You can use low-sodium or regular chicken broth. If you use regular, just watch your salt–you may not need as much. If you use low-sodium, you may need to add more salt before serving. Always do a taste test before adding additional salt! For a vegetarian option, you can substitute vegetable broth.
- Tomatoes. Use canned, whole peeled tomatoes. San Marzano are a great choice, but I can’t always find them. Crushed tomatoes typically don’t perform as well or as consistently due to additives, but you can use them in a pinch. I don’t recommend using fresh tomatoes for tomato soup for several reasons, which you can find further down in the post.
- Basil. I recommend fresh basil for optimal flavor. Shred your basil so it’s in fine strands that easily blend into the soup.
- Sugar. Adding sugar doesn’t make this soup sweet; instead, it counteracts the acidity of the tomatoes. You may be tempted to skip this, but it’s necessary for a balanced flavor (I use this trick in many tomato-based recipes, including my baked ziti!).
- Cream. Just a touch of cream makes this soup velvety smooth without being too creamy or heavy (if you’re looking for a creamy soup recipe, check out my potato soup!). Substituting milk could make your soup curdle, so stick with cream for this one.
- Baking soda. While seeing a box of baking soda may be a bit unexpected, this ingredient is a key player in today’s recipe. Many tomato-based soups and sauces are notoriously acidic. Cream and sugar are often used to counteract this, but too much can throw off the delicate balance of flavor and even overpower the robust tomato flavor that we actually want! A pinch of baking soda balances things beautifully while keeping the acidity from the tomatoes from being overpowering (we still use sugar and cream, but just enough to flavor properly!). I picked up this technique from Cooks Illustrated (sorry, no direct link since it’s behind a paywall!) and I’ve never looked back.
SAM’S TIP: Some tomato soup recipes call for carrots, which can help sweeten the soup and detract from the acidity of the tomatoes. Personally, I don’t care for this method, and instead I opt for a combination of onions, a pinch of sugar, and baking soda instead.
Remember, this is just an overview of the ingredients I used and why. For the full recipe please scroll down to the bottom of the post!
How to Make Tomato Soup
- Melt butter in a large, non-reactive pot over medium heat. Add onions and cook until softened and translucent, stirring often. Add garlic and cook until fragrant.
- Evenly sprinkle flour over garlic and onions and cook, stirring constantly, until smooth. Cook for another 30-60 seconds before adding the tomatoes (including any juices!).
- Crush the tomatoes with your spoon until no large chunks remain (alternatively you can hand-crush your tomatoes before adding, but crushing in the pot works just as well!). Scrape the bottom and sides of the pot to make sure you didn’t miss any.
- Stir in seasonings and bring your soup to a boil. Once boiling, reduce heat and simmer for 20-30 minutes uncovered.
- Use an immersion blender to puree the soup until smooth.
- Add cream and baking soda. The soup will foam a bit after you add the baking soda, this is normal! Stir until color is uniform (it will lighten in color slightly) and soup is cohesive. Check seasonings by taste-testing before serving.
SAM’S TIP: If you don’t have an immersion blender, you can just puree the soup in batches using a traditional blender and then return it to the pot to finish.
Frequently Asked Questions
This is always controversial topic and I’m sure I’ll get some pushback, but the truth is that some recipes should always be made with fresh tomatoes (like bruschetta), while others (like homemade pizza sauce) do better with canned tomatoes. I prefer using canned tomatoes for this soup, and here’s why:
Canned tomatoes are more uniform in flavor and will give you more consistent results. Fresh tomatoes will almost always give you a watery soup, even if they taste delicious straight off the vine (not to mention truly excellent tomatoes are usually only available a few months out of the year). Your results and flavor will vary significantly with fresh tomatoes and, if you do choose use them, you should ideally roast and peel them first.
To put it simply: for consistency, texture, flavor, and ease, I recommend canned tomatoes for tomato soup.
This soup recipe honestly tastes good as-is (with a mandatory sprinkle of fresh parm, of course). Fresh herbs, cheese, sour cream, cheese crackers, croutons, or even crumbled bacon are also all great additions for tomato soup! For an extra cozy meal, serve this tomato soup in a homemade bread bowl or with a side of grilled cheese or breadsticks for dipping.
If you reduced the amount or eliminated the baking soda, sugar, or cream, or if you cooked your soup in a reactive (aluminum, cast iron, or copper) pot, your soup may become acidic.
Always make sure you’re using a non-reactive (stainless steel or enameled metal) pot when cooking tomatoes, and taste-test, adding more baking soda, sugar, or cream if your soup needs it.
More Recipes You Might Like
Let’s bake together! I’ll be walking you through all the steps in my written recipe and video below! If you try this recipe, be sure to tag me on Instagram, and you can also find me on YouTube and Facebook
- 4 Tablespoons unsalted butter
- 3 cups sweet or yellow onion diced (about 2 medium-sized onions) (400g)
- 1 ½ Tablespoons minced garlic about 5 cloves (10g)
- 1 ½ Tablespoons all-purpose flour
- 2 28 oz cans whole peeled tomatoes I like to use Cento or other brands of San Marzano when I can find them (two 793g cans)
- 2 cups chicken broth (473ml)
- ¼ cup finely sliced basil
- 2 Tablespoons granulated sugar
- ¼ teaspoon table salt
- ½ teaspoon ground black pepper
- ⅓ cup heavy cream (80ml)
- ¼ teaspoon baking soda
- Shredded or grated parmesan cheese for topping
- Place butter in a large pot over medium heat and cook until melted.
- Add diced onion and cook until translucent.
- Add garlic and cook until fragrant (about 30 seconds).
- Sprinkle flour into the pot and use a spatula to stir until no lumps remain. Continue to cook another 30-60 seconds.
- Add tomatoes and their juices, crushing and smashing them with your spatulas and scraping the bottom of the pot as you add them until no large pieces remain.
- Stir in chicken broth, basil, sugar, salt and black pepper and stir well.
- Bring soup to a boil. Once boiling, reduce heat and simmer, uncovered, for 20-30 minutes to allow the flavors to develop.
- After simmering, use an immersion blender to puree the soup until completely smooth (alternatively, puree the soup in batches using a traditional blender and then return to the pot).
- Stir in cream and baking soda, stirring until smooth, cohesive in color, and not foamy. Taste-test and add salt and pepper as needed.
- Portion into bowls and serve topped with grated parmesan cheese. This soup is excellent for dipping grilled cheese or just served with a side salad and some crusty artisan bread!
TomatoesThis recipe was specifically written for canned whole tomatoes, as home-grown or fresh tomatoes simply (and perhaps counter-intuitively) do not guarantee the same flavor and results (you can see my post for more information on this).
Heavy creamHeavy cream, whipping cream, double cream, or heavy whipping cream will work well in this recipe. I don’t recommend using whole milk or anything with less fat as it could cause the soup to curdle. While I have not tried this recipe with full-fat coconut milk, I suspect it could work as a non-dairy alternative.
Baking sodaI found that the tomato flavor was too acidic even with the granulated sugar and cream to help balance the flavor. A tiny pinch of baking soda works wonders to mellow the taste without diminishing the distinct tomato flavor.
StoringStore in an airtight container in the refrigerator for up to 5 days. This recipe also freezes well and will keep frozen for several months.
Nutritional information is based on third-party calculations and should be considered an estimate only. Actual nutritional content will vary based upon brands used, measuring methods, cooking method, portion sizes, and more.