This homemade tomato soup recipe is rich, flavorful, and easy to make with basic ingredients. Just add a grilled cheese for a delicious, comforting meal!
Jump to Recipe
This homemade tomato soup recipe is creamy, comforting, and flavorful. It’s made with simple ingredients like diced tomatoes, onions, garlic, and carrots, and it comes together in under an hour.
Easy and delicious, this soup is one of my favorite meals for a chilly night, and it just so happens to be fully kid-approved. Try it the next time you’re in the mood for something quick and cozy. Paired with a gooey grilled cheese sandwich, it’s guaranteed to hit the spot!
Why You’ll Love This Tomato Soup Recipe
- It’s easy to make with basic ingredients. This tomato soup recipe calls for canned tomatoes and other pantry staples. I love that I can make it without a trip to the store!
- It has a perfectly balanced flavor. Because this recipe calls for canned tomatoes, it’s delicious even when fresh tomatoes aren’t in season. The tangy tomatoes play off sweet carrots and balsamic vinegar, and heavy cream adds richness to round it all out. (Find a dairy-free option below!)
- You can make it ahead. It keeps well in the fridge for several days and freezes well too. I love keeping a stash in the freezer for a quick and easy dinner!
Tomato Soup Ingredients
Here’s what you’ll need to make this tomato soup recipe:
- Canned tomatoes – Diced tomatoes are my go-to for this soup because I like to blend some and leave the rest whole for texture. Whole peeled tomatoes work too, but you’ll need to crush them with your hands before using them.
- Olive oil and butter – They create the soup’s rich base. To make this recipe dairy-free, feel free to use additional olive oil instead of the butter.
- Onion and garlic – For savory depth of flavor.
- Carrots and balsamic vinegar – If you ask me, the secret to making the best tomato soup is adding something sweet to balance the acidic tomatoes. The carrots and balsamic vinegar do that in this recipe.
- Vegetable broth or water – I’ve had great results using both! I just find the soup needs an extra pinch of salt when I make it with water.
- Heavy cream – It perfects the soup’s creamy texture and adds rich flavor. To make this soup dairy-free, use full-fat coconut milk instead. I promise, you can’t taste it!
- Dried thyme – For warm, earthy flavor. Feel free to substitute fresh thyme if you have it on hand. I like to bundle 3 sprigs and simmer them in the soup, then remove the bundle before blending.
- Red pepper flakes – For heat.
- Fresh basil leaves – I love sprinkling a few leaves over my bowl for a fresh finishing touch.
- And salt and pepper – To make all the flavors pop!
Find the complete recipe with measurements below.
Best Tomatoes for Tomato Soup
Canned tomatoes and fresh tomatoes both work well in soup, but I don’t use them interchangeably.
- This recipe is best with canned tomatoes. They make it quick and easy to prepare because they have a concentrated sweet and tangy flavor straight out of the can.
- For a fabulous fresh tomato soup, check out my tomato basil soup instead! In that recipe, I roast the tomatoes first to concentrate their flavor.
Tip: In late fall, winter, and spring, I recommend sticking with canned tomatoes. They actually have a better flavor when fresh tomatoes aren’t in season!
How to Make Tomato Soup
This homemade tomato soup recipe is so simple to make! Here’s how it goes:
First, sauté the veggies. Heat the butter and olive oil in a large pot or Dutch oven over medium heat. Add the onion, carrots, minced garlic, and a pinch of salt, and cook until the veggies soften, about 8 minutes.
Stir in the vinegar.
Next, add the remaining ingredients and simmer until the carrots are tender, 20 to 25 minutes.
Then, blend part of the soup to create its creamy texture. Scoop 4 cups of the soup out of the pot and set aside. Transfer the remaining soup to a blender, and blend until smooth. If you like, you could use an immersion blender for this step, though I prefer the smoother texture I get when I use my regular blender. Return the pureed soup to the pot, along with the 4 cups of chunky soup. Stir to combine.
Finally, season to taste and serve. That’s it!
What to Serve with Tomato Soup
This easy tomato soup recipe pairs perfectly with crusty bread or a grilled cheese sandwich for dipping.
I also love it with toppings like these:
- Basil leaves – For fresh flavor.
- Homemade croutons – For crunchy contrast.
- Freshly grated Parmesan cheese – For a salty, nutty pop.
- A drizzle of olive oil or heavy cream – For extra richness.
How do you like to serve tomato soup? Let me know in the comments!
How to Store and Freeze
To store: Store leftover soup in an airtight container in the refrigerator for up to 4 days.
To freeze: This soup also freezes well. Allow it to cool to room temperature, then seal it in airtight containers, leaving an inch of space for it to expand at the top. Store in the freezer for up to 3 months.
To reheat: Warm in the microwave or over low heat on the stovetop.
More Favorite Soup Recipes
If you love this creamy tomato soup recipe, try one of these homemade soups next:
- Broccoli Cheddar Soup
- Butternut Squash Soup
- Minestrone Soup
- Tortellini Soup
- Or any of these 35 Best Soup Recipes!

Homemade Tomato Soup Recipe
Ingredients
- 2 tablespoons extra-virgin olive oil, plus more for drizzling
- 2 tablespoons unsalted butter, or an additional 2 tablespoons olive oil
- 2 medium yellow onions, chopped
- 2 medium carrots, chopped
- 6 garlic cloves, chopped
- 2 tablespoons balsamic vinegar
- 2 (28-ounce) cans diced tomatoes, and their juices
- 3 cups water or vegetable broth
- 1⅓ cups heavy cream, plus more for drizzling*
- 1 teaspoon dried thyme
- ½ teaspoon red pepper flakes
- 1 teaspoon sea salt, plus more to taste
- Freshly ground black pepper
- Fresh basil leaves, for garnish
Instructions
- Heat the olive oil and butter in a large pot over medium heat. Add the onion, carrots, garlic, and a pinch of salt and cook, stirring occasionally, for 8 minutes, or until softened.
- Stir in the vinegar, then add the tomatoes, water, cream, thyme, red pepper flakes, salt, and several grinds of pepper. Simmer, stirring occasionally, for 20 to 25 minutes, or until the carrots are tender.
- Scoop 4 cups of the soup out of the pot and set aside. Transfer the remaining soup to a blender. Puree until smooth. Return the pureed soup to the pot with the reserved 4 cups of chunky soup. Stir to combine and season to taste.
- Ladle into bowls and serve with a drizzle of cream, a drizzle of olive oil, freshly ground black pepper, and fresh basil leaves for garnish.










Do you peel the tomatoes at any point?
Sorry wrong recipe – I am making the roasted roma tomato soup with basil
Nope, we don’t peel them! We don’t find we mind the skins once it’s blended.
Do you peel the tomatoes at any point?
For the tomatoes- is it 28oz total or two 14oz cans?
It’s 56 ounces total, 2 (28-ounce) cans!
This was wonderful, even in the middle of a hot July. My family loved it and being so easy to make is a plus
This is delicious! Thanks for the recipe.
I’m so glad you enjoyed it!
I made this per the recipe instructions and it was PERFECT! Several people in my life are dairy free so this will absolutely be a hosting recipe for me- i love the creamy texture and it has such good flavor.
Absolutely delicious tasted so tomatoey. Will def make again
My cream curled. I dont like this recipie at all. I knew that was the wrong process. The vinegar should be added last. Also getting a better measurement of cups, ounces, grams for the onion , carrot, garlic. Would be helpful.