This post may contain affiliate links. Read my full disclosure policy.
A pot of homemade tomato soup is always a good idea—especially when there’s a grilled cheese sandwich waiting on the side.

This tomato soup recipe is my go-to during the chilly fall and winter months when fresh tomatoes are out of season. It comes together with canned tomatoes and pantry staples, but the finished soup tastes far fresher than you’d expect. Instead of relying on cream, the tomatoes are blended until silky on their own. One little trick I always use is adding a pinch of sugar. It might seem unconventional, but it helps balance the tomatoes’ natural acidity.
For serving, garnish the soup with store-bought or homemade croutons, fresh basil, and a sprinkle of freshly grated Parmigiano-Reggiano. If you’re in the mood for something heartier, pair it with stromboli or grilled cheese—or for a fun twist, try grilled cheese croutons!
For more classic Italian soups, be sure to try my minestrone, pasta fagioli and zuppa Toscana—all hearty favorites.
“This was a great recipe…enough like the tomato soup of my childhood to be comforting, but MUCH better and fresher!”
What You’ll Need To Make Tomato Soup

To make the tomato soup, you’ll need olive oil, unsalted butter, onions, garlic, all-purpose flour, chicken broth, canned whole peeled tomatoes, sugar, dried thyme, and fresh basil.
Step-by-Step Instructions
Step 1: Sauté the aromatics. In a large pot or Dutch oven, heat the olive oil and 2 tablespoons of butter over medium-low heat. Add the onions and cook until soft and translucent. Stir in the garlic and cook a few minutes more, being careful not to let it brown.

Step 2: Add the flour. Stir in the flour and cook for 1 to 2 minutes, stirring constantly, to remove the raw taste and prevent lumps.

Step 3: Simmer the soup. Add the chicken broth, tomatoes, sugar, thyme, salt, and pepper. Bring to a simmer over medium-high heat, stirring to loosen any flour from the bottom or sides of the pot. Lower the heat, cover, and simmer gently for 30 minutes.

Step 4: Purée. Use an immersion blender to blend the soup until smooth. If using a regular blender, let the soup cool slightly, then purée in batches with the lid vented. Season to taste with more salt and pepper.
Pro Tip: If you prefer more texture in your soup, feel free to either skip this step or only partially purée it.

Step 5: Finish with butter. Stir in the remaining 3 tablespoons of butter for added richness and flavor.

Step 6: Garnish and serve. Ladle into bowls and garnish as desired. Store leftovers in the fridge for up to 4 days or freeze for up to 3 months.

Video Tutorial
More Comforting Soups You’ll Love
Classic Tomato Soup

Ingredients
For the Soup
- 4 tablespoons extra-virgin olive oil
- 5 tablespoons unsalted butter, divided
- 3 medium yellow onions, chopped (about 3½ cups)
- 3 large cloves garlic, minced
- ¼ cup all-purpose flour
- 6 cups chicken broth
- 2 (28-oz) cans whole peeled tomatoes
- 2 tablespoons sugar
- ½ teaspoon dried thyme
- Salt
- Freshly ground black pepper
For Serving (Optional)
- Fresh chopped basil
- Croutons
- Freshly grated Parmigiano-Reggiano
Instructions
- In a large nonreactive pot (see note), heat the olive oil and 2 tablespoons of the butter over medium-low heat. When the butter is melted, add the onions and cook over medium heat, stirring occasionally, until soft and translucent. Do not brown; reduce heat if necessary.
- Add the garlic and cook for a few minutes more, stirring to be sure the garlic does not burn. Add the flour and continue cooking and stirring for 1 to 2 minutes more.
- Add the chicken broth, tomatoes, sugar, thyme, 1¼ teaspoons salt and ½ teaspoon pepper. Bring to a simmer over medium-high heat while stirring to make sure that the flour is not sticking to the bottom or sides of the pan. Reduce the heat to low, cover the pan, and simmer for about 40 minutes.
- Using a hand-held immersion blender, purée the soup until very smooth. (Alternatively, let the soup cool slightly and purée in batches in a blender. Be sure to crack the lid or remove the center cap to allow steam to escape.)
- Taste and adjust seasoning with salt and pepper, and stir in the remaining 3 tablespoons of butter.
- Ladle the soup into bowls and garnish with fresh basil, croutons, and Parmigiano-Reggiano, if desired. (Nutritional information below does not include optional garnishes.)
Notes
Pair with
Nutrition Information
This website is written and produced for informational purposes only. I am not a certified nutritionist and the nutritional data on this site has not been evaluated or approved by a nutritionist or the Food and Drug Administration. Nutritional information is offered as a courtesy and should not be construed as a guarantee. The data is calculated through an online nutritional calculator, Edamam.com. Although I do my best to provide accurate nutritional information, these figures should be considered estimates only. Varying factors such as product types or brands purchased, natural fluctuations in fresh produce, and the way ingredients are processed change the effective nutritional information in any given recipe. Furthermore, different online calculators provide different results depending on their own nutrition fact sources and algorithms. To obtain the most accurate nutritional information in a given recipe, you should calculate the nutritional information with the actual ingredients used in your recipe, using your preferred nutrition calculator.





First time making this recipe. Nice flavor. Plan to freeze for use as a base for other recipes like stuffed cabbage and stuffed cabbage soup
PERFECTION!! Simple and delicious! I forgot to add the flour during the garlic/onion saute step so I made a beurre manie and thankfully it worked just fine; phew! Thank you!