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.










This recipe had good flavor, but was too liquidy for my personal taste. I used all EVOO instead of adding butter and coconut milk instead of heavy cream. Next time, I would lessen the amount of vegetable broth and milk used so that I could have a thicker consistency.
Excellent texture! Warm and cozy, as it should be. I served it with roasted garlic and Asiago rubbed crostini. Was a big hit with the family! ?
Can crushed tomatoes be used- instead of diced?
yep!
Did anyone test the rails on this? Enough to feed 12 people liquid. Yes I made the recipe as is.
Such a healthy n comforting soup! A must try recipe..
very delicious..
I really enjoyed the combination of creamy and chunky and love the flavor profile! I paired it with your suggested grilled cheese, which was perfect!
So glad you loved the recipe!
This soup was great! I was a little unsure about the coconut milk, but it provided creaminess without making this taste like tomato/coconut soup. I’ll definitely make this again.
So glad you loved it! I know, it’s such a surprise how well the coconut blends in.
Really liked this recipe, carrots added sweetness and extra nutrition. Coconut milk made it creamy without dairy. And I had a lot leftover to freeze!
Hi Hilary, I’m so glad you loved it!
Delicious soup!! Love the savory sweet flavor! Perfect with grilled cheese!
Hi Samantha, I’m so glad you loved it!
This is the best tomato soup; delicious and easy! Loved the addition of the vegetables and the balsamic vinegar! I made it with the coconut milk; yummy!
Hi Bridget, I’m glad you loved the soup!
This soup is perfect! Love the pinch of red pepper flakes and leaving some of the soup chunky for texture.
So glad you loved it!
Delicious! I love the addition of balsamic vinegar for sweetness and tang but I’m convinced the carrots are the showstopper. I loved the texture and balance they gave. I had some cream to use up this time, but can’t wait to try it with coconut milk next time.
I’m so glad you loved the soup!
This soup is so rich and full of flavor!
So glad you loved it!
This recipe is delicious! I’m not vegan, but I avoid dairy so I didn’t use butter. I didn’t also add extra olive oil but it still turned out to be amazing. Thank you for all your lovely recipes!
This recipe is delicious! I’m not vegan but avoid dairy, so I didn’t use butter. I didn’t add extra olive oil, but it still turned out to be delicious! I love your recipes!
I’m so glad you loved the soup!
Just finished making it. It is delicious. It is not a quick recipe, but is easy.
I’m not a vegan, so use cream and butter.
So easy and so tasty! We enjoyed with grilled cheese, of course! Perfect cozy February meal. We’ll make this again!
The soup was super delicious and creamy! It was so easy to make, and I will make this again for sure.
This recipe was delicious! I loved the blended creaminess but I did love the few chunks of veggies left from the unblended portion. We had this two nights in a row with grilled cheese and loved it both times!
Loved it!