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.










Could this recipe be cut in half
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.
Thank you so much for this recipe. We’ve made this countless times. It is one of my favorite soups to make and I love the addition of carrots and balsamic vinegar. My two year old loves it.
Aww, I’m so glad it’s a favorite!
Great recipe. I subbed half the can tomatoes for tomato’s from garden cause I had a fair few but not enough. I also didn’t have carrots which is crazy cause I always have carrots. But it turned out so yummy with the used of home made stock, home grown tomato’s and home grown basil 😍 very wholesome meal
Sounds so good, Fergie! I’m so glad you loved it.
Easy and delicious — and uses pantry ingredients. Who could ask for more? I used chicken broth for the liquid and a stick blender. I didn’t have any fresh garlic (just ran out!) but even with garlic powder, the soup is deicious.
I’m so glad you enjoyed it, Diane!
Outstanding! I only had crushed tomatoes to use and ended up adding a small can of tomato paste as well. Used chicken broth for the liquid. I puréed the whole batch with a stick blender and my husband and I couldn’t be happier with the results. Excellent flavor!!! Loved the addition of the balsamic vinegar!! Will be my favorite now! I’ve tried to find the perfect (for us) tomato soup recipe for years and this is it!!
Hi Carol, yay! So glad you loved the soup!
Really good and very easy!!!
I’m so glad it was a hit!
delicious! And very easy to make.
I prefer a smooth tomato soup. Would there be an issue blending all of the soup?
you can blend it all!
I wish you would addd the butrtional information on these receipts
Hi Karen, we’re starting to add it to new recipes as we post them – thank you for your patience!
Such a great recipe! I swapped out carrots for sweet potatoes since I had them on hand. Was perfect!
I’m glad you enjoyed it!
This is the best thing I’ve ever tasted I made it with garlic bread and ceaser salad best meal ever top five gurl!!
Hi Emma, the best compliment! I’m so glad you loved it!
Delicious! I halved the recipe because I was cooking for two and it still made plenty. Will definitely be making again.
I’m so glad you enjoyed it!