“Is there anything better than the smell of basil and tomatoes cooking together?” my neighbor called out from her garden, holding up a colander overflowing with Roma tomatoes. I didn’t have an answer then, and honestly, I still don’t. That was the moment this whole creamy homemade tomato basil soup thing started for me.
She thrust half the tomatoes into my hands, and I stood there, slightly panicked. What was I supposed to do with all of them? I mean, you can only eat so many caprese salads, right? But then I remembered a soup I had at this tiny café years ago. It was so creamy and rich, but not heavy. It tasted like summer in a bowl, and I had been chasing that memory ever since.
So I went inside, grabbed my biggest pot, and started experimenting. I wanted that same deep tomato flavor, but with a velvety finish that didn’t come from a can. This creamy homemade tomato basil soup with fresh tomatoes is the result of that afternoon. It’s the kind of soup that makes you slow down. You dip your grilled cheese in it, and for a minute, everything feels right with the world. That’s the kind of recipe I want to share with you.
Why You’ll Love This Recipe
Listen, I have tested a lot of tomato soup recipes over the years. Some are too watery, some taste like straight-up tomato paste, and others rely on a bucket of heavy cream to taste good. This one is different. It’s the Goldilocks of tomato soups, and I am not exaggerating.
- Made with Real, Fresh Tomatoes: No canned stuff here. We are using fresh, ripe tomatoes that bring a natural sweetness and brightness you just can’t fake.
- Unbelievably Creamy Without Being Heavy: The secret is a little trick with the blender and a touch of heavy cream at the end. It creates a silky texture that feels luxurious without weighing you down.
- Simple, Whole-Food Ingredients: You probably have most of these items in your kitchen right now. Onion, garlic, basil, butter, and tomatoes. That’s it. No weird additives or hard-to-find spices.
- Perfect for a Cozy Night In: This soup is made for pairing with a crispy cast iron smash burger or a classic grilled cheese. It’s comfort food at its finest.
- Freezer-Friendly: Make a big batch and freeze half for a rainy day. It tastes just as good months later, which is honestly a lifesaver on busy weeknights.
I have made this soup for family dinners, for sick friends, and for those days when you just need a hug in a bowl. Every single time, people ask for the recipe. That’s how you know it’s a keeper.
What Ingredients You Will Need
This recipe relies on the quality of its ingredients, but don’t worry—none of them are fancy. You just need to pick good, ripe produce and you are golden. Here is exactly what you need to make this creamy homemade tomato basil soup with fresh tomatoes:
- Roma Tomatoes (3 pounds, or about 8-10 large): These are my go-to for soup. They have fewer seeds and less water than other varieties, which gives you a thicker, more concentrated flavor. If you can’t find Romas, use vine-ripened tomatoes, but you might need to simmer them a little longer to cook off the extra liquid.
- Unsalted Butter (4 tablespoons): Butter adds a richness that olive oil just can’t match here. I use unsalted so I can control the salt level myself. If you only have salted, just cut back on the added salt later.
- Yellow Onion (1 large, diced): Onion is the backbone of this soup. It adds a subtle sweetness that balances the acidity of the tomatoes. Don’t skip it or try to use red onion; the flavor won’t be the same.
- Garlic (4 cloves, minced): Fresh garlic is non-negotiable here. The jarred stuff has a different, more bitter taste. You want that fragrant, mellow garlic flavor that comes from fresh cloves.
- Fresh Basil (1 cup, packed, plus more for garnish): This is where the magic happens. Basil and tomatoes are a classic pairing for a reason. Use fresh basil, not dried. The dried stuff just doesn’t have the same bright, peppery sweetness.
- Vegetable Broth (2 cups): Use a good quality broth here. I prefer low-sodium so I can season it myself. Chicken broth works great too if you aren’t keeping it vegetarian.
- Heavy Cream (1/2 cup): This is what gives the soup that luscious, velvety texture. For a lighter version, you can use half-and-half, but it won’t be quite as creamy. I have also used full-fat coconut milk in a pinch, and it was surprisingly good!
- Salt and Black Pepper: To taste. I usually start with a teaspoon of salt and go from there.
- Optional: Pinch of Red Pepper Flakes: If you like a little heat, add a pinch when you cook the onions. It doesn’t make the soup spicy, just gives it a little warmth in the background.
I recommend using a brand like Muir Glen for your broth if you can find it, but honestly, any good store brand works. The key is the freshness of the tomatoes and basil. That is where all the flavor lives.
Equipment Needed
You don’t need a fancy kitchen to make this soup. Here is what you will need:
- Large Heavy-Bottomed Pot or Dutch Oven: I use my trusty 5-quart Dutch oven for this. It holds heat evenly and prevents the soup from scorching on the bottom. A regular stockpot works too, just keep an eye on it.
- Immersion Blender or Regular Blender: An immersion blender is my favorite tool for this job. You can blend the soup right in the pot, which means less mess. If you use a regular blender, work in batches and be careful with the hot liquid—never fill the blender more than halfway, and hold the lid down with a towel.
- Cutting Board and Sharp Knife: You will be doing a fair bit of chopping. A sharp knife makes the whole process faster and safer.
- Wooden Spoon or Silicone Spatula: For stirring the onions and tomatoes. A wooden spoon is great for scraping up any browned bits from the bottom of the pot.
- Measuring Cups and Spoons: Pretty self-explanatory. I like using a liquid measuring cup for the broth and cream.
If you don’t have an immersion blender, don’t run out and buy one just for this. Your regular blender will do the job perfectly. Just be patient and do it in small batches.
Preparation Method

Alright, let’s get cooking. This creamy homemade tomato basil soup with fresh tomatoes comes together in about 45 minutes, and most of that time is hands-off simmering.
- Prep the tomatoes: Bring a large pot of water to a boil. While that’s heating up, score a small “X” on the bottom of each tomato. Drop them into the boiling water for about 30-45 seconds, until you see the skin starting to peel back. Transfer them to a bowl of ice water to stop the cooking. Once they are cool enough to handle, peel the skins off. They should slip right off. Then, roughly chop the tomatoes. Don’t worry about being perfect; they are going to get blended anyway. Set them aside.
- Sauté the aromatics: In your large pot, melt the butter over medium heat. Add the diced onion and a pinch of salt. Cook for about 5-7 minutes, stirring occasionally, until the onion is soft and translucent. Add the minced garlic and cook for another minute, until it’s fragrant. Your kitchen is going to smell amazing at this point.
- Cook the tomatoes: Add the chopped tomatoes to the pot. Stir everything together and let it cook for about 10 minutes. The tomatoes will break down and release their juices. You will see the mixture become more liquid and start to bubble. If you are using red pepper flakes, add them now.
- Simmer the soup: Pour in the vegetable broth and add the fresh basil. Stir to combine. Bring the soup to a gentle boil, then reduce the heat to low. Let it simmer, uncovered, for 20-25 minutes. This allows the flavors to meld together and the soup to thicken slightly. The basil will wilt and infuse the broth with its flavor.
- Blend until smooth: Remove the pot from the heat. Using an immersion blender, blend the soup directly in the pot until it is completely smooth and velvety. If you are using a regular blender, work in batches. Fill the blender no more than halfway, hold the lid on firmly with a kitchen towel, and blend until smooth. Pour each batch into a clean bowl or back into the pot.
- Finish with cream: Once the soup is blended, return the pot to low heat. Stir in the heavy cream. Taste the soup and season with salt and black pepper. I usually start with 1 teaspoon of salt and 1/4 teaspoon of pepper, then adjust from there. Remember, you can always add more, but you can’t take it out.
- Serve and enjoy: Ladle the soup into bowls. Garnish with a few fresh basil leaves and a swirl of extra cream if you’re feeling fancy. Serve hot with your favorite bread or grilled cheese.
A quick tip: If your soup tastes a little flat, it probably needs more salt. Don’t be shy with it. Salt is what makes the tomato flavor really pop.
Cooking Tips & Techniques
I have made this soup so many times that I have a few tricks up my sleeve. Let me share them with you so you can nail it on your first try.
Don’t skip the blanching step. I know it seems like an extra chore, but peeling the tomatoes is crucial. Tomato skins don’t break down completely when blended, and they can leave you with a slightly bitter, stringy texture in your otherwise smooth soup. Trust me, the 5 minutes it takes is worth it.
Toast the tomato paste (if using). I don’t use tomato paste in this fresh version, but if you ever want to boost the tomato flavor in a pinch, add a tablespoon of tomato paste after the onions are soft. Cook it for a minute or two until it darkens and smells almost nutty. It adds a deep, concentrated flavor.
Be careful with the blender. This is the most dangerous part of the recipe. Hot liquid expands when blended, so if you fill your blender too full, it can explode all over your kitchen. Always blend in small batches and leave the lid slightly ajar to let steam escape, or hold it down with a towel. An immersion blender is so much safer for this reason.
Taste as you go. I learned this the hard way. I once made a batch that was perfectly seasoned, but I didn’t taste it until the end when I added too much salt. You can’t fix that. Taste the soup before you add the cream, and then again after. Your palate is your best tool.
Let it rest. If you have the time, let the soup sit for 15-20 minutes after you finish it. The flavors will continue to meld and deepen. It always tastes even better the next day for this reason.
Variations & Adaptations
One of the best things about this soup is how easy it is to adapt. Here are some of my favorite variations:
- Roasted Tomato Version: Instead of simmering the tomatoes on the stove, roast them in the oven. Toss the peeled tomatoes with olive oil, salt, and pepper, and roast at 400°F for 25-30 minutes until they are caramelized and slightly charred. This adds a smoky, deeper flavor that is incredible. Then, just add them to the pot with the sautéed onions and proceed with the recipe.
- Vegan and Dairy-Free: Swap the butter for olive oil or vegan butter, and replace the heavy cream with full-fat canned coconut milk. The coconut milk adds a subtle sweetness that pairs beautifully with the tomatoes. Just make sure to use a good quality one that doesn’t have a strong coconut taste.
- Spicy Tomato Basil Soup: Add a whole, dried chipotle pepper or a teaspoon of smoked paprika along with the garlic. The smokiness and heat take this soup in a completely different direction. It’s perfect for a cold winter night.
- Herb Infusion: Along with the basil, throw in a sprig of fresh thyme or rosemary during the simmering step. Remove the sprig before blending. It adds an earthy, aromatic layer that is really lovely.
- Add Some Protein: For a heartier meal, stir in some cooked white beans or shredded rotisserie chicken after blending. It turns the soup into a full meal.
I personally love the roasted tomato version. It takes a little more time, but the flavor is so rich and complex. It feels like a completely different soup, but it’s just one small tweak.
Serving & Storage Suggestions
This creamy homemade tomato basil soup with fresh tomatoes is a star on its own, but it loves company. Here is how to serve and store it.
Serving: Serve the soup piping hot. I love to pair it with a classic, crispy grilled cheese sandwich. The combination is unbeatable. You could also serve it with a side of fluffy buttermilk biscuits with sweet strawberry butter for a more indulgent meal. For a lighter option, a simple green salad with a tangy vinaigrette is perfect. The acidity of the dressing cuts through the richness of the soup beautifully. I also love to top the soup with a dollop of pesto or a sprinkle of parmesan cheese.
Storage: Let the soup cool completely to room temperature. Transfer it to an airtight container and store it in the refrigerator for up to 5 days. The flavors actually get better after a day or two as they meld together.
Freezing: This soup freezes like a dream. Pour the cooled soup into freezer-safe bags or containers. Leave a little headspace for expansion. It will keep for up to 3 months. To thaw, place the container in the refrigerator overnight.
Reheating: Reheat the soup gently on the stovetop over medium-low heat, stirring occasionally. If it seems too thick after thawing, add a splash of broth or water to thin it out. You can also reheat individual portions in the microwave in 30-second bursts, stirring in between. Just be careful not to boil it, as the cream can separate.
Nutritional Information & Benefits
This soup is not just delicious; it’s also packed with good-for-you ingredients. Here is a rough estimate per serving (based on 6 servings):
- Calories: 220
- Fat: 16g
- Carbohydrates: 16g
- Fiber: 4g
- Sugar: 10g (naturally occurring)
- Protein: 4g
- Vitamin C: 45% of the Daily Value
- Vitamin A: 35% of the Daily Value
Tomatoes are rich in lycopene, a powerful antioxidant that is great for heart health and may help reduce inflammation. Cooking the tomatoes actually makes the lycopene easier for your body to absorb. Basil is also a good source of vitamin K and has anti-inflammatory properties. The heavy cream adds a dose of calcium, but you can easily lighten it up with the substitutions I mentioned earlier.
From a wellness perspective, this soup feels like a treat, but it is genuinely nourishing. It’s the kind of meal that fills you up without making you feel sluggish. Perfect for a cozy night in when you want something satisfying but not heavy.
FAQs
Can I use canned tomatoes instead of fresh?
Yes, you absolutely can. If fresh tomatoes are out of season, use a 28-ounce can of whole peeled San Marzano tomatoes. They are the closest thing to fresh and have a great flavor. Just drain them slightly and proceed with the recipe. You might not need to simmer them as long since they are already soft.
Why is my tomato soup bitter?
Bitterness usually comes from the tomato skins or seeds. That’s why I recommend peeling the tomatoes and removing the seeds if you have the time. It can also happen if you overcook the garlic. Cook the garlic just until it’s fragrant, about a minute, and no longer.
Can I make this soup in a slow cooker?
Sure! Sauté the onions and garlic on the stovetop first, then transfer them to the slow cooker along with the peeled tomatoes and broth. Cook on low for 4-6 hours or high for 2-3 hours. Add the fresh basil in the last 30 minutes. Blend with an immersion blender, then stir in the cream before serving.
How can I make this soup thicker?
If you prefer a thicker soup, let it simmer longer after adding the broth. The longer it cooks, the more liquid evaporates and the thicker it gets. You can also add a tablespoon of tomato paste at the beginning for extra body.
Can I use dried basil instead of fresh?
I really don’t recommend it. Fresh basil is the star of this soup. Dried basil has a different, more muted flavor that just doesn’t deliver the same brightness. If you absolutely have to, use about 1 tablespoon of dried basil, but know that the result won’t be the same.
Conclusion
This creamy homemade tomato basil soup with fresh tomatoes has become a staple in my kitchen for a reason. It’s simple, honest, and deeply satisfying. It reminds me of that afternoon with my neighbor, standing in the sun, holding a pile of tomatoes I didn’t know what to do with. Now, I always know exactly what to do with them.
I really hope you give this recipe a try. Don’t be afraid to make it your own. Add a little more garlic, a pinch more red pepper, or serve it with your favorite crusty bread. Cooking is about making something that feels good to you. And this soup? It feels really, really good.
If you make it, I would love to hear how it turned out. Drop a comment below and let me know if you tried any fun variations. Or tag me in your photos—I love seeing your creations! Happy cooking, friends.
Pin This Recipe!

Creamy Homemade Tomato Basil Soup with Fresh Tomatoes
This creamy homemade tomato basil soup is made with fresh, ripe tomatoes and a touch of heavy cream for a velvety finish. It’s the perfect comfort food for a cozy night in, especially when paired with a grilled cheese sandwich.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Total Time: 45 minutes
- Yield: 6 servings 1x
- Category: Soup
- Cuisine: American
Ingredients
- 3 pounds Roma tomatoes (about 8–10 large)
- 4 tablespoons unsalted butter
- 1 large yellow onion, diced
- 4 cloves garlic, minced
- 1 cup fresh basil leaves, packed, plus more for garnish
- 2 cups vegetable broth (low-sodium preferred)
- 1/2 cup heavy cream
- Salt and black pepper to taste
- Optional: pinch of red pepper flakes
Instructions
- Prep the tomatoes: Bring a large pot of water to a boil. Score a small ‘X’ on the bottom of each tomato. Drop them into the boiling water for 30-45 seconds until the skin starts to peel. Transfer to an ice water bath. Peel the skins off and roughly chop the tomatoes.
- Sauté the aromatics: In a large pot, melt the butter over medium heat. Add the diced onion and a pinch of salt. Cook for 5-7 minutes until soft and translucent. Add the minced garlic and cook for 1 minute until fragrant.
- Cook the tomatoes: Add the chopped tomatoes to the pot. Stir and cook for 10 minutes until they break down and release their juices. If using red pepper flakes, add them now.
- Simmer the soup: Pour in the vegetable broth and add the fresh basil. Stir to combine. Bring to a gentle boil, then reduce heat to low. Simmer uncovered for 20-25 minutes.
- Blend until smooth: Remove from heat. Use an immersion blender to blend the soup directly in the pot until smooth. If using a regular blender, work in batches, filling no more than halfway, and blend with the lid held down with a towel.
- Finish with cream: Return the pot to low heat. Stir in the heavy cream. Season with salt and black pepper to taste (start with 1 teaspoon salt and 1/4 teaspoon pepper).
- Serve: Ladle into bowls. Garnish with fresh basil leaves and a swirl of extra cream if desired. Serve hot with bread or grilled cheese.
Notes
Don’t skip blanching the tomatoes; it removes the skins for a smoother soup. If the soup tastes flat, add more salt. For a vegan version, use olive oil and full-fat coconut milk. The soup freezes well for up to 3 months.
Nutrition
- Serving Size: 1 serving (about 1.5
- Calories: 220
- Sugar: 10
- Sodium: 480
- Fat: 16
- Saturated Fat: 10
- Carbohydrates: 16
- Fiber: 4
- Protein: 4
Keywords: tomato basil soup, creamy tomato soup, fresh tomato soup, homemade soup, comfort food, vegetarian soup




