Homemade tomato soup

The easiest way to make homemade tomato soup that is creamy, rich, and packed with real flavor using simple pantry staples.

Updated

April 6, 2026

A bowl of creamy homemade tomato soup topped with fresh basil and a swirl of heavy cream

Homemade tomato soup is one of those weeknight recipes that feels fancy but takes almost no effort. This creamy, velvety soup comes together in 25 minutes using simple pantry staples, and it tastes nothing like anything from a can. I started making this on repeat after one cold Tuesday night when I needed something warm and fast, and it has been a family staple ever since.

There is something deeply comforting about a bowl of rich, smooth tomato soup. The first time I made this from scratch, I could not believe how much better it tasted compared to the canned version I had been relying on for years. The secret is combining canned whole tomatoes with fire-roasted diced tomatoes, which builds a depth of flavor you simply cannot replicate any other way. Pair it with a golden grilled cheese and dinner practically makes itself.

Ingredients for Homemade Tomato Soup

I have tested this recipe many times in my own kitchen, and I keep coming back to this exact lineup because it works every single time. Here is what you need:

  • 3 tablespoons olive oil or butter – I recommend butter for a richer, creamier base
  • 1 medium or large onion (chopped)
  • 1½ teaspoons kosher salt
  • ½ teaspoon black pepper
  • ¼ teaspoon red pepper flakes (or to taste)
  • 1 tablespoon dried oregano – In my experience, do not skip this, it adds real depth to the base
  • ½ teaspoon dried basil
  • 3 cloves garlic (smashed and minced)
  • 1 can (28 oz) whole peeled tomatoes, with juices – My go-to is San Marzano when available
  • 1 can (15 oz) fire-roasted diced tomatoes, with juices
  • 4 cups chicken broth – I usually make mine with Better Than Bouillon for convenience
  • ½ to 1 cup heavy cream
  • ½ cup fresh basil (chopped)
A bowl of creamy homemade tomato soup topped with fresh basil and a swirl of heavy cream

Step-by-Step Instructions

In my experience, taking a few extra minutes to properly brown the onions and letting the soup simmer longer than the minimum makes a noticeable difference in flavor. Here is exactly how I make it:

Step 1: Heat a large soup pot over medium-high heat. Add the olive oil or butter. Once the oil shimmers or the butter melts, add the chopped onion.

Step 2: Season immediately with the kosher salt, black pepper, red pepper flakes, dried oregano, and dried basil. Stir to coat the onions evenly.

Step 3: Saute the onions until lightly golden and softened, about 5 to 8 minutes. Do not rush this step. The color and aroma tell you when it is ready.

Step 4: Add the minced garlic and cook for 1 more minute, stirring constantly so it does not burn. Burnt garlic will make the whole soup bitter.

Step 5: Pour in both cans of tomatoes with their juices, then add the 4 cups of chicken broth. Stir everything together.

Step 6: Raise the heat to high and bring the soup to a boil. Once boiling, reduce to a low simmer and cook for at least 10 minutes. If you have up to 45 minutes, the flavor gets even better as it reduces.

Step 7: Turn off the heat and blend the soup using an immersion blender until completely smooth. If using a regular blender, let the soup cool for a couple minutes, blend in small batches, remove the center spout from the lid, and hold a folded kitchen towel firmly over the top. This lets steam escape safely and prevents hot soup from splashing.

Step 8: Reheat the soup gently on low if needed. Turn the heat completely off before adding the heavy cream. Stir it in slowly. Never let the soup come to a rolling boil after cream has been added or it can curdle and separate.

Step 9: Stir in the chopped fresh basil or use it as a garnish on top of each bowl. Serve warm.

What to Serve with Homemade Tomato Soup

The best sides for homemade tomato soup bring crunch, richness, or a little contrast to complement that creamy tomato base. Here are my favorite pairings:

Grilled Cheese Sandwich: The all-time classic pairing. Buttery, golden bread with melty cheese is practically made to be dipped into this soup. It turns a simple bowl into a full, satisfying dinner.

Broccoli Cheddar Soup Served Together: If you are feeding a crowd and want variety, pairing this with a bowl of Broccoli Cheddar Soup makes for an incredible soup night spread with contrasting flavors and textures.

Creamy Sausage Potato Soup Side-by-Side: For a heartier meal, serve this alongside a small portion of Creamy Sausage Potato Soup for a warming, protein-rich dinner combination the family will love.

Crusty Garlic Bread: Toasted French bread rubbed with butter and garlic soaks up the soup beautifully and adds satisfying crunch to every bite.

Simple Green Salad: A crisp salad with a light vinaigrette cuts through the richness of the cream and rounds out the meal with something fresh and bright.

Chicken Parmesan: If you want to turn soup night into a full Italian-inspired dinner, serving this tomato soup alongside a plate of crispy Chicken Parmesan is an incredible combination that feels restaurant-worthy.

Easy Stromboli: Sliced Stromboli with melty cheese inside is a crowd-pleasing bread-based side that pairs perfectly with a bowl of tomato soup for dipping.

Potato Soup as a Starter: If you want a two-soup dinner for the family, start with a small cup of Potato Soup and follow it with this tomato version. Kids especially love the idea of a soup flight.

A bowl of creamy homemade tomato soup topped with fresh basil and a swirl of heavy cream

Keep It Warm and Fresh

This homemade tomato soup keeps well in the fridge for up to 4 days in a sealed airtight container. The flavor actually deepens overnight as everything settles together, so leftovers are often even better the next day.

To reheat, warm it gently on the stovetop over low heat. Stir occasionally and avoid bringing it to a full boil after the cream has already been added. Boiling a cream-based soup can cause it to separate and turn grainy. A slow, gentle reheat keeps the texture smooth and silky.

Pro tip: if you plan to freeze this soup, do it before adding the cream. The cream can separate in the freezer and make the texture grainy when thawed. Freeze the blended tomato base in individual portions for up to 3 months, then stir in fresh cream when you reheat and serve.

Frequently Asked Questions

Can I make this homemade tomato soup vegetarian?

Yes, simply swap the chicken broth for a good quality vegetable broth. The rest of the recipe stays exactly the same and the flavor is still rich and satisfying.

Why does my tomato soup taste too acidic?

Canned tomatoes can vary in acidity depending on the brand. If your soup tastes sharp or too tangy, stir in a small pinch of sugar or a tablespoon of butter at the end. Both balance the acidity without changing the overall flavor profile.

Can I make this soup ahead of time for a dinner party?

Absolutely. Make the full batch up to the blending step and refrigerate it up to 2 days in advance. When ready to serve, reheat gently on low and stir in the cream just before serving. This keeps the texture fresh and the cream from breaking.

Conclusion

This creamy homemade tomato soup is proof that something simple can still feel like a real treat. It takes very little time, uses ingredients most people already have, and delivers the kind of warm, satisfying comfort that a can of soup simply cannot match. Give it a try tonight, serve it with something crusty and cheesy on the side, and watch it become a regular in your dinner rotation.

A bowl of creamy homemade tomato soup topped with fresh basil and a swirl of heavy cream

Creamy Homemade Tomato Soup

A rich, velvety homemade tomato soup made with canned whole tomatoes, fire-roasted diced tomatoes, fresh basil, and heavy cream. Ready in 25 minutes and perfect for cozy weeknight dinners.
Prep Time 10 minutes
Cook Time 15 minutes
Total Time 25 minutes
Servings: 8 portions
Course: Dinner, Soup
Cuisine: American
Calories: 108

Ingredients
  

  • 3 tbsp olive oil or butter
  • 1 medium or large onion chopped
  • 1.5 tsp kosher salt
  • 0.5 tsp black pepper
  • 0.25 tsp red pepper flakes or to taste
  • 1 tbsp dried oregano
  • 0.5 tsp dried basil
  • 3 cloves garlic smashed and minced
  • 28 oz canned whole tomatoes with juices
  • 15 oz canned fire-roasted diced tomatoes with juices
  • 4 cup chicken broth
  • 0.5 cup heavy cream up to 1 cup depending on preferred richness
  • 0.5 cup fresh basil chopped

Equipment

  • Large soup pot
  • Immersion blender

Method
 

  1. Heat a large soup pot over medium-high heat. Add the olive oil or butter. Once the oil shimmers or the butter melts, add the chopped onion.
  2. Season immediately with the kosher salt, black pepper, red pepper flakes, dried oregano, and dried basil. Stir to coat the onions evenly.
  3. Saute the onions until lightly golden and softened, about 5 to 8 minutes. Do not rush this step.
  4. Add the minced garlic and cook for 1 more minute, stirring constantly to prevent burning.
  5. Pour in both cans of tomatoes with their juices and add the 4 cups of chicken broth. Stir to combine.
  6. Increase the heat to high and bring the soup to a boil. Once boiling, reduce to a low simmer and cook for at least 10 minutes, or up to 45 minutes for deeper flavor.
  7. Turn off the heat and use an immersion blender to puree the soup until completely smooth. If using a regular blender, let the soup cool slightly, blend in small batches, remove the center lid spout, and hold a folded kitchen towel firmly over the top to allow steam to escape safely.
  8. Reheat gently on low if needed. Turn the heat completely off before adding the heavy cream. Stir it in slowly. Do not boil after adding cream or it may curdle.
  9. Stir in the chopped fresh basil or use it as a garnish on top of each bowl. Serve warm.

Notes

To freeze: blend the soup before adding the cream and freeze in portions for up to 3 months. Stir in fresh cream when reheating. You can substitute crushed tomatoes for the whole canned tomatoes. For a vegetarian version, swap chicken broth for vegetable broth.

Leave a Comment

Recipe Rating