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!
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.









Delicious
So glad you enjoyed it, Fiona!
Love love love this tomato soup; can’t get enough of it! Used canned marzano tomatoes. Combined with the mushroom risotto- chef’s kiss! Thank you for sharing!
I’m so glad you loved it with the risotto!
Tasted horrible with coconut milk.
I’m sorry you didn’t love this one.
I disagree! I have made this soup at last 4 times to rave reviews. Did you use sweetened coconut milk by mistake? That would not be good at al.
I loved this recipe, however, I reccomend grating the carrots as it cooks down quickly and you get more sweetness from them.
Just wondered if this can be made in a soup maker? Mine has a saùte function or
i can saùte the veg first ?
Hi Carole, that sounds like it’ll work fine.
Simply delicious. Used vine ripe tomatoes instead of canned and just pureed the whole mess.
I’m wondering if silken tofu would work as a substitute for coconut milk…do you or any readers have experience with that? Seems to me it would be a healthier alternative.
Thanks in advance for your reply.
Hi Mari, I think it might work, I haven’t tried!
I was apprehensive about the carrots because I’m not really a cooked carrot fan but it was delicious! My fiancé said it was his favorite tomato soup he’s ever tried. Unfortunately I couldn’t find fresh basil at Aldi so I used a basil paste instead but it worked out perfectly fine and I’m looking forward to trying it with fresh basil another time!
This recipe sounds delicious but yet again it’s in US cups 🙁
Other sites give you the option to change to metric, always appreciated. Considering (as far as I’m aware) it’s only the US that uses cups this is a smart move I think??
I made this soup on the weekend and it was delicious! I used one can of fire roasted tomatoes and one regular diced tomatoes. I had to simmer about 35 minutes to get the carrots to soften and then I pureed the whole pot because I wanted a smoother texture. My family loved it!
Honestly bland.
Delicious recipe! I halved the recipe, used homemade chicken meat stock, less red pepper but added half of a small fresh Serrano pepper.
Hi Carole, I’m so glad you loved the soup!
Flavorful. No one knew there were carrots in it. Win-win. I halved the recipe.
Hi Kristie, I’m so glad it was a hit!
This tomato soup was a big hit with my family. Delicious!
Hi, I’m so glad it was a hit!
I wanted some comfort food for a recent move and health issue. Saw this recipe and paired it with a mixed grilled cheese sandwich and some broccoli. Easy! Delicious!! My slightly picky eater husband loved it too. Definitely will be in rotation.
Thank you,
Catherine
Good but I like a little more roasted flavor and creamy texture.
Did you try using canned fire roasted tomatoes and/or putting all the soup into the blender?
Delicious I used Carnation evaporated milk. Also made grilled cheese croutons for the top. Very yummy thanks
Helllo 🙂
I would like to use fresh tomatoes instead of canned ones.
Can you please tell me how many tomatoes i should use and what kind.
Thank you
She has a recipe for one with fresh tomatoes linked in the ingredients list.
Excellent soup! Next time will lower the red pepper flakes to 1/4 t instead of 1/2 teaspoon
Hi Cindy, I’m glad you enjoyed the soup!
This recipe made a big pot of delicious tomato soup. I used half-and-half that’s all I had. When cooking I only use San Marzano tomatoes, either hole or diced. It takes whatever you’re making to the next level. We ate it with really good pizza.