This homemade tomato soup is a luxurious upgrade over the canned version, made with San Marzano tomatoes, caramelized onions, fresh basil, and my signature secret finish for a total umami bomb. There’s nothing I love more than pairing a bowl with a grilled cheese sandwich on the side.

This is the soup that gets me through the summer, until it’s finally soup season again. I pretty much created this tomato soup recipe just so I had something to dunk my Grilled Cheese Sandwich into, but it turned out so well that I’ll be making it on repeat every summer from here on out. I love it just as much as my other summer soups, like this Easy Corn Chowder and my authentic Italian Minestrone Soup.
Homemade Tomato Soup
Tomato soup has been a popular comfort food ever since The Campbell Soup Company put its canned version on the shelves during the late 1800s. Fast forward to today, and kids are still growing up on the stuff. Personally, I liked it as much as the next person, but these days, I need a more grown-up version.
Naturally, my tomato soup recipe starts with caramelized onions. They’re sweet and aromatic, and any chef would agree: a welcome addition to tomato soup! From there, I layered in premium San Marzano tomatoes, fresh basil, and homemade chicken stock and then blended it all into a silky soup. But the real kicker is my secret finish: a splash of balsamic vinegar at the end. It completely umami-fies the tomatoes and takes things to another level.
I’m not even exaggerating when I say I love this soup so much I could legit drink it. It’s rich, bright, incredibly savory, and pairs insanely well with a grilled cheese. Happy slurping and dunking!
Ingredients and Substitutions

These are the ingredients I use to make my tomato soup, plus a few substitution ideas:
- Olive Oil – To sauté the aromatics and vegetables.
- Caramelized Onions – Yellow onions are some of my favorites to caramelize, but white onions also work.
- Aromatics – A few whole garlic cloves and one small carrot just for a little sweetness and color.
- Tomato Paste – Cooked tomato paste always does a great job of boosting the umami and intensifying the tomato flavors.
- Canned San Marzano Tomatoes – The G.O.A.T. of canned tomatoes, in my opinion. They are naturally sweeter and less acidic than other kinds.
- Fresh Basil – No substitutions. The basil leaves have to be fresh.
- Chicken Stock – My Homemade Chicken Stock that I always seem to have in the fridge. Any quality store-bought chicken stock or vegetable stock will also work.
- Heavy Cream – Just a splash. Half-and-half or whole milk are decent substitutes, but they aren’t as creamy.
- Balsamic Vinegar, AKA my secret finishing ingredient.
- Salt and White Pepper – Season the caramelized onions and the soup with salt, then finish it all with some ground white pepper.
How to Make Tomato Soup
Caramelize the onions: First, sauté the onions in a large pot until they’re lightly browned around the edges. Once they lightly brown, lower the heat and continue cooking until they’re golden brown and completely caramelized.

Add the aromatics: Next, stir in the garlic and carrots so they can soften.

Sauté the tomato paste: Stir the tomato paste in with the aromatics and let it cook until it darkens to a rust-like color. This caramelizes its natural sugars and tones down its metallic taste.

Simmer the base: Next, add the tomatoes, basil, another pinch of salt, and stock to the pot. Heat the base to a simmer for 30 minutes (FYI, this is when I like to start a grilled cheese).

Puree: Working in batches, transfer the soup to a high-speed blender, cover the center cap with a clean kitchen towel, and start blending slowly. Gradually ramp it up to high speed until the soup is smooth.

Finishing touches: Return the soup to the pot and stir in the heavy cream, balsamic vinegar, salt, and white pepper.

Garnish and serve: To finish, ladle the creamy tomato soup into bowls, garnish each with crisp homemade croutons and a chiffonade of fresh basil, and serve them on the side of a grilled cheese.

Chef Tip + Notes
If there’s one thing you need to know about making homemade tomato soup, it’s to give those fresh ingredients plenty of time to cook down so their natural flavors can deepen and get even better. It’s why I choose to caramelize the onions and cook the aromatics with the tomato paste for a good 5 minutes. This is the difference between a tomato soup that falls flat and one that tastes like it’s been simmering all day.
- Be careful when blending hot liquids. To prevent a soup explosion, wait for the soup to cool slightly before blending, never fill the pitcher past the 3/4 mark, and always remove the center cap from the lid (cover it with a kitchen towel instead).
- Immersion blender option: You can blend the soup right in the pot with an immersion blender instead, but the texture won’t be as smooth.
- Balance the acidity: We’re playing with a lot of acids here, so it’s no surprise that a tomato soup can taste overly acidic sometimes. To balance this, I’ll stir in a little sugar or honey when it’s tasting a bit sharp.
- Roast the tomatoes instead, but only if you’re using fresh, in-season tomatoes. Slice them in half, arrange them on a parchment-lined baking sheet, and roast in a 400ºF oven for 20 to 30 minutes. Afterward, toss them in the soup and blend as normal.
- Boost the umami flavors with a dash of Worcestershire sauce, soy sauce, fish sauce, or anchovy paste, or by simmering a Parmesan cheese rind in the soup.
Serving Suggestions
My tomato soup paired with a grilled cheese sandwich is a comforting meal I’ll never get sick of. To dress up the bowl, top it with crunchy croutons and more fresh basil leaves.
This is secretly one of my favorite summer soups, too. To keep things light, serve it with a leafy green salad tossed in a bright lemon vinaigrette. And for simple weekend lunches, swap the grilled cheese for a warm batch of baked garlic bread or a slice of soft Italian focaccia.
Make-Ahead and Storage
Make-Ahead: To keep Tomato Soup warm, cover the pot and keep over low heat, stirring occasionally, for up to 1 hour before serving. T0 prepare it in advance, make the soup as direct, but wait to blend it until ready to serve. Let it cool completely, then cover and refrigerate. Reheat gently and blend before serving.
How to Store: Store the cooled leftover soup in a covered container in the fridge for 4 to 5 days.
How to Freeze: To freeze for up to 3 months, prepare the soup as directed, but do not add the cream or balsamic vinegar. Thaw overnight in the refrigerator, reheat, and stir them in before serving.
How to Reheat: Transfer the desired amount of soup to a saucepan and heat over medium heat until warmed through.
More Soup Recipes
Tomato Soup Recipe

Ingredients
- 3 tablespoons olive oil
- 1 peeled small-diced yellow onion
- 3 finely minced garlic cloves
- 1 peeled small diced carrot
- 2 tablespoons tomato paste
- 2 28 ounce cans San Marzano tomatoes + ½ cup of water to swoosh them out
- 2 sprigs fresh basil
- 2 cups chicken stock
- 1 cup heavy cream
- 2 teaspoons balsamic vinegar
- salt and ground white pepper to taste
- croutons for garnish
Instructions
- Add the olive oil to a large pot over medium heat.
- Next, add in the onions, gently season with salt, and sauté for 5 minutes. Once they are lightly browned around the edges, reduce the heat to low and cook for 10 minutes, stirring occasionally stirring.
- Stir in the garlic and carrots and cook for an additional 5 minutes.
- Mix in the tomato paste and cook it until the veggies are coated and the paste turns a rust-like color. This will take 3 to 5 minutes.
- Add in the tomatoes, basil, salt, and stock, and simmer over low to medium heat for 30 minutes.
- Transfer the mixture in batches to a blender. Remove the center cap from the top, replace it with a kitchen towel, and slowly blend at high speed until it is smooth. You could also use a hand immersion blender for this. Repeat the process if you could not fit it all on the first time, which will be most likely happen as you do not want to fill it up past the ¾ mark.
- Transfer the soup to a large pot. Finish by stirring in the cream, balsamic vinegar, salt, and ground white pepper.
- Garnish with croutons and additional fresh basil, if desired.
Notes
Make-Ahead: To keep Tomato Soup warm, cover the pot and keep over low heat, stirring occasionally, for up to 1 hour before serving. T0 prepare it in advance, make the soup as direct, but wait to blend it until ready to serve. Let it cool completely, then cover and refrigerate. Reheat gently and blend before serving. How to Store: Store the cooled leftover soup in a covered container in the fridge for 4 to 5 days. How to Freeze: To freeze for up to 3 months, prepare the soup as directed, but do not add the cream or balsamic vinegar. Thaw overnight in the refrigerator, reheat, and stir them in before serving. How to Reheat: Transfer the desired amount of soup to a saucepan and heat over medium heat until warmed through.




Tomato Soup Recipe