The last spoonful was gone before I even realized I was scraping the bottom of the bowl. My husband looked up from his empty mug — the one I’d filled with soup just minutes earlier — and said, “Wait, that’s it? Can you make more tomorrow?” I just sat there, a little stunned. This wasn’t a complicated recipe. It wasn’t some chef-driven masterpiece I’d spent hours perfecting. It was just soup. But it was the kind of soup that makes you slow down. The kind that silences a room full of chatty kids and turns them into quiet, focused eaters.
I’d been tinkering with tomato soup for years, honestly. Canned versions always felt too sweet or too acidic. Restaurant versions were either watery or tasted like they came from a can themselves. I wanted that deep, slow-simmered flavor — the kind you get from those little Italian trattorias where the menu doesn’t change. But I also wanted it to come together in a single pot on a Tuesday night, without a trip to the farmers market or a long list of specialty ingredients.
This creamy tomato basil soup with crispy grilled cheese croutons was born from that craving. It started with a can of whole San Marzano tomatoes (the good ones, you know the ones), a little butter, and a lot of patience. The grilled cheese croutons happened by accident — I had leftover bread and cheese, and I figured, why not? That first bite of soup with a crunchy, buttery, cheese-pull crouton was a genuine moment. It’s the kind of meal that feels like a hug in a bowl, but also makes you feel like you’ve actually cooked something. I think that’s why it stuck.
Why You’ll Love This Recipe
Let’s be real — there are a million tomato soup recipes out there. But this one is different. It’s not trying to be fancy. It’s trying to be perfect. And it actually pulls it off.
- Quick & Easy: This whole thing comes together in about 40 minutes from start to finish. Most of that time is hands-off simmering, so you can chop the cheese or just stand there and stir while you decompress from the day.
- Simple Ingredients: You probably have everything in your pantry right now. Canned tomatoes, onion, garlic, butter, heavy cream, fresh basil, and bread. No weird spice blends or hard-to-find produce.
- Comfort Food Reimagined: The grilled cheese croutons are the move. Instead of a soggy sandwich on the side, you get these crispy, cheesy little cubes that stay crunchy in the soup. It’s genius, honestly, and I wish I could take full credit for it.
- Crowd-Pleaser: I’ve served this to picky toddlers, hard-to-impress in-laws, and a group of friends who claimed they “didn’t really like tomato soup.” Every single bowl came back empty. Every single time.
- Unbelievably Delicious: The secret is a tiny pinch of sugar and a long, slow simmer. It balances the acidity of the tomatoes without making it sweet. The cream adds richness without weighing it down. And the basil? Fresh, not dried. That’s non-negotiable.
This isn’t just another tomato soup recipe. It’s the one you’ll make when you’re sick, the one you’ll make when you’re celebrating, and the one you’ll make on a random Wednesday because you just need something good.
What Ingredients You Will Need
This recipe relies on a handful of quality ingredients to build deep, layered flavor. Nothing here is complicated, but each ingredient plays a specific role. Here’s what you’ll need and why it matters.
For the Soup
- 2 tablespoons unsalted butter — Adds richness and a silky mouthfeel. I use salted butter sometimes and just skip the extra salt later. Both work.
- 1 medium yellow onion, chopped — The base of the flavor. Don’t skip it or substitute with onion powder. It’s not the same.
- 3 cloves garlic, minced — Fresh garlic is key here. Pre-minced from a jar works in a pinch, but fresh gives a brighter, cleaner taste.
- 2 cans (28 ounces each) whole San Marzano tomatoes — I know they’re more expensive, but they’re sweeter and less acidic. If you can’t find them, use any good-quality whole peeled tomato. Crushed tomatoes work too, but the texture won’t be as smooth.
- 1 cup low-sodium chicken or vegetable broth — Adds depth without overpowering the tomatoes. I prefer chicken broth for a richer flavor, but vegetable broth keeps it vegetarian.
- 1/2 teaspoon dried oregano — A little Italian seasoning goes a long way. Don’t overdo it.
- 1/4 teaspoon red pepper flakes (optional) — Adds a tiny kick that cuts through the creaminess. I add it about half the time.
- 1/2 cup heavy cream — For that velvety texture. You can use half-and-half for a lighter version, but it won’t be as luxurious.
- 1/4 cup fresh basil leaves, chopped, plus more for garnish — Fresh basil is non-negotiable in my book. Dried basil tastes like hay in this context. Trust me.
- 1 teaspoon sugar — Balances the acidity of the tomatoes. Don’t skip it, even if you’re not a fan of sweet soup. You won’t taste the sugar, I promise.
- Salt and black pepper, to taste — Season as you go, not just at the end.
For the Crispy Grilled Cheese Croutons

- 4 slices sourdough bread (or any sturdy bread) — Sourdough holds up best. Avoid soft sandwich bread — it gets soggy too fast.
- 2 tablespoons unsalted butter, softened — For spreading on the bread. Don’t melt it; softened butter spreads more evenly.
- 1 cup shredded sharp cheddar cheese — I use extra-sharp for maximum flavor. Gruyère or a mix of cheddar and mozzarella also works beautifully.
- 1/4 cup grated Parmesan cheese — Adds a salty, nutty crunch to the croutons.
Equipment Needed
You don’t need a fancy kitchen to pull this off. Here’s what I use every time:
- Large Dutch oven or heavy-bottomed pot — A 5- to 6-quart pot is ideal. The heavy bottom prevents the soup from scorching. I’ve used my Le Creuset for years, but a good stainless steel pot works just fine.
- Immersion blender — This is my preferred tool for blending the soup right in the pot. Less mess, less cleanup. If you don’t have one, a regular blender works — just work in batches and vent the lid.
- Large skillet or griddle — For toasting the grilled cheese croutons. Cast iron gives the best even browning.
- Cutting board and sharp knife — For chopping onion, garlic, and basil. A dull knife makes the whole process harder than it needs to be.
- Wooden spoon or spatula — For stirring the soup while it simmers.
- Measuring cups and spoons — A 1-cup measure for broth and cream, and a teaspoon for the sugar and oregano.
- Baking sheet (optional) — If you want to toast the croutons in the oven instead of the skillet. I do this when I’m making a double batch.
If you don’t have an immersion blender, a regular blender is totally fine. Just let the soup cool slightly before blending, and never fill the blender more than halfway. Hot soup expands and can blow the lid off — I learned that the hard way.
Preparation Method
Let’s get cooking. This is straightforward, but I’ve added notes at each step so you know exactly what to look for.
Step 1: Start the Soup Base
Melt the 2 tablespoons of butter in your large pot over medium heat. Add the chopped onion and cook, stirring occasionally, for about 5 to 7 minutes, until it’s soft and translucent. You don’t want any browning here — just gentle sweating. Add the minced garlic and cook for another minute, until it smells fragrant. Don’t let it burn; garlic turns bitter fast.
Step 2: Add the Tomatoes and Broth
Pour in both cans of whole San Marzano tomatoes, including the juices. Break them up with your wooden spoon as they go in. Add the chicken or vegetable broth, dried oregano, red pepper flakes (if using), and the teaspoon of sugar. Stir everything together, then bring the soup to a gentle simmer. Not a rolling boil — a simmer. Little bubbles around the edges. Reduce the heat to low and let it cook, uncovered, for 20 minutes. This is where the magic happens. The tomatoes break down, the flavors meld, and the soup starts to smell like your grandmother’s kitchen (even if your grandmother never made soup).
Step 3: Blend the Soup
After 20 minutes, remove the pot from the heat. Use your immersion blender to puree the soup until it’s completely smooth. If you’re using a regular blender, work in batches. Fill the blender no more than halfway, hold the lid down with a kitchen towel, and blend until smooth. Pour each batch into a clean bowl or pot. Be careful — hot soup splatters are no joke.
Step 4: Add the Cream and Basil
Return the blended soup to the pot (if you used a regular blender) and place it over low heat. Stir in the heavy cream and the chopped fresh basil. Taste it. This is the moment of truth. Add salt and black pepper as needed. I usually start with 1 teaspoon of salt and 1/4 teaspoon of pepper, then adjust from there. Let the soup warm through for another 2 to 3 minutes. Don’t let it boil after adding the cream, or it might curdle. Low and slow is the way.
Step 5: Make the Grilled Cheese Croutons
While the soup simmers, make the croutons. Heat your skillet over medium heat. Spread the softened butter on one side of each slice of sourdough bread. Place two slices butter-side down on a cutting board. Evenly distribute the shredded cheddar and Parmesan on those two slices. Top with the remaining two bread slices, butter-side up. Place the sandwiches in the hot skillet and cook for 3 to 4 minutes per side, until the bread is golden brown and the cheese is fully melted. Press down gently with a spatula for even browning. Transfer the sandwiches to a cutting board and let them rest for 1 minute. Then cut them into 1-inch cubes. Yes, it’s that simple.
Step 6: Assemble and Serve
Ladle the hot soup into bowls. Top generously with the crispy grilled cheese croutons. Garnish with extra fresh basil leaves and a crack of black pepper. Serve immediately — the croutons stay crunchy for about 5 minutes, so don’t let the soup sit too long. If you’re making this ahead, store the croutons separately and add them just before serving.
Cooking Tips & Techniques
I’ve made this soup more times than I can count. Here are the things I’ve learned the hard way so you don’t have to.
- Don’t rush the onion. That 5 to 7 minutes of sweating is non-negotiable. If the onion isn’t soft, the soup won’t have that sweet, savory base. I once tried to speed this up and ended up with soup that tasted flat. Never again.
- Use whole tomatoes, not crushed. Whole San Marzano tomatoes have a better texture and flavor. Crushed tomatoes are often packed with citric acid for preservation, which can make the soup too tangy. If you only have crushed, add an extra pinch of sugar to balance it.
- Season in layers. Add a little salt with the onions, a little more after blending, and taste again at the end. It’s easier to add salt than to fix an over-salted soup. Trust your palate.
- Warm the cream before adding it. If you add cold cream directly to the hot soup, it can shock the liquid and cause it to separate. I just let the cream sit on the counter while the soup simmers, or microwave it for 10 seconds. Simple fix.
- Toast the croutons just before serving. The croutons are at their peak for about 5 minutes after coming off the skillet. If you’re serving a crowd, make the croutons in batches and keep them warm in a 200°F oven on a baking sheet.
One more thing — don’t skip the sugar. I know it sounds weird, but a tiny bit of sugar is the secret to restaurant-quality tomato soup. It doesn’t make it sweet; it just makes the tomatoes taste more like themselves.
Variations & Adaptations
This recipe is flexible. Here are a few ways to make it your own.
- Dairy-Free Version: Substitute the butter with olive oil or vegan butter. Use full-fat canned coconut milk instead of heavy cream. The coconut flavor is subtle and actually works beautifully with the tomatoes. For the croutons, use your favorite dairy-free cheese shreds.
- Extra Veggie Boost: Add a chopped carrot or a stalk of celery along with the onion. It adds natural sweetness and a little extra nutrition. Roast a red bell pepper and blend it in for a smoky twist.
- Spicy Kick: Increase the red pepper flakes to 1/2 teaspoon, or add a chopped jalapeño (seeds removed) along with the garlic. A drizzle of sriracha or chili oil on top is also amazing.
- Herb Swap: No fresh basil? Use fresh thyme or oregano instead. Dried basil works in a pinch, but use half the amount and add it earlier in the cooking process so it has time to rehydrate.
- Crouton Variations: Try using whole wheat, rye, or gluten-free bread. Swap the cheddar for Gruyère, fontina, or pepper jack for a different flavor profile. Add a thin slice of prosciutto inside the grilled cheese before cutting it into croutons — trust me on this one.
I once made this with roasted cherry tomatoes instead of canned, and it was incredible. If you have a glut of summer tomatoes, roast them at 400°F with olive oil, salt, and garlic for 30 minutes, then use them in place of the canned tomatoes. That version is absolutely worth the extra effort, but it’s a seasonal treat.
Serving & Storage Suggestions
This soup is best served hot, right after the croutons go on. But leftovers are a gift, too.
- Serving Temperature: Serve the soup piping hot. The croutons should be warm and crispy. If the soup has cooled down, reheat it gently on the stove before adding the croutons.
- Presentation: I like to serve this in wide, shallow bowls so the croutons have room to float. A drizzle of extra virgin olive oil and a few torn basil leaves on top make it look like it came from a restaurant.
- What to Serve With It: This soup is a meal on its own, but it pairs beautifully with a simple green salad dressed with lemon vinaigrette. A glass of dry white wine or a cold beer works too. For the kids, a side of apple slices is always a hit.
- Storage: Store the soup and croutons separately. The soup keeps in an airtight container in the refrigerator for up to 5 days. The croutons are best eaten the same day, but you can store them in an airtight container at room temperature for up to 2 days. They won’t be as crispy, but they’ll still be tasty.
- Freezing: This soup freezes beautifully. Let it cool completely, then transfer it to freezer-safe containers or zip-top bags. Freeze for up to 3 months. Thaw overnight in the refrigerator and reheat gently on the stove. Do not freeze the croutons — they’ll turn into sad, soggy bread crumbs.
- Reheating: Reheat the soup over medium-low heat, stirring occasionally. Add a splash of broth or water if it’s too thick. If you’re reheating from frozen, a quick simmer on the stove works best. The microwave works in a pinch, but the texture won’t be as smooth.
One thing I love about this soup is that the flavors actually get better after a day in the fridge. The garlic and basil meld together into something even more delicious. So don’t be afraid to make it a day ahead.
Nutritional Information & Benefits
This is comfort food, but it’s not without its redeeming qualities. Here’s a rough estimate per serving (based on 4 servings, including croutons):
- Calories: ~420
- Fat: 28g
- Carbohydrates: 32g
- Fiber: 4g
- Protein: 14g
- Sugar: 12g (mostly from the tomatoes)
- Sodium: 680mg (varies based on broth and cheese)
The tomatoes are packed with lycopene, a powerful antioxidant linked to heart health and reduced inflammation. Cooking the tomatoes actually increases the bioavailability of lycopene, so this soup is a great way to get those benefits. The basil adds a dose of vitamin K and essential oils with anti-inflammatory properties. The garlic is good for your immune system, and the olive oil (if you drizzle it on top) provides healthy monounsaturated fats.
If you’re watching your dairy intake, the dairy-free version swaps in coconut milk, which contains medium-chain triglycerides (MCTs) that are easier to digest. For a lower-carb option, skip the croutons and serve the soup with a side of roasted vegetables or a simple salad. This soup is naturally gluten-free if you skip the croutons or use gluten-free bread.
Honestly, I don’t make this soup for the health benefits. I make it because it makes me feel good. But it’s nice to know it’s doing some good while it’s warming me up.
Conclusion
This creamy tomato basil soup with crispy grilled cheese croutons is the kind of recipe that earns a permanent spot in your rotation. It’s simple enough for a weeknight, special enough for company, and satisfying in a way that feels almost unfair for how little effort it takes. The soup is velvety, rich, and perfectly balanced — not too acidic, not too sweet, just right. And those croutons? They’re the kind of detail that makes people think you spent hours in the kitchen when you really just made a grilled cheese and cut it up.
I love this recipe because it reminds me that comfort food doesn’t have to be complicated. It just has to be good. And this is really, really good. I hope you make it on a rainy day, or a cold night, or a Tuesday that just needs a little something extra. I hope you eat it with someone you love, or just by yourself with a good book. Either way, it’s going to be great.
If you make this recipe, I’d love to hear about it. Leave a comment below and let me know how it turned out. Did you add your own twist? Did the croutons disappear before the soup was gone? Share your photos and tag me — I want to see your bowls of comfort. And if you’re looking for more cozy soup inspiration, you might enjoy my roasted tomato basil soup with sourdough Gruyère croutons or this creamy Tuscan salmon for another weeknight winner. Until next time, happy cooking.
Frequently Asked Questions
Can I use dried basil instead of fresh?
You can, but I really don’t recommend it. Fresh basil has a bright, slightly peppery flavor that makes the soup taste alive. Dried basil tends to be more earthy and can get a little dusty-tasting. If you’re in a pinch, use about 1 tablespoon of dried basil and add it with the oregano so it has time to rehydrate.
How do I make this soup vegan?
Easy. Swap the butter for olive oil or vegan butter. Use full-fat canned coconut milk instead of heavy cream. For the croutons, use vegan cheese and butter. The soup will still be creamy and delicious, just with a slightly different flavor profile.
Can I make this in a slow cooker or Instant Pot?
Yes. For the slow cooker, sauté the onion and garlic on the stovetop first, then transfer everything (except the cream and basil) to the slow cooker. Cook on low for 4 to 6 hours. Blend, then stir in the cream and basil. For the Instant Pot, use the sauté function for the onions and garlic, then add the tomatoes, broth, and seasonings. Pressure cook on high for 10 minutes, then quick release. Blend, then stir in the cream and basil.
Why did my soup turn out too acidic?
That usually means the tomatoes need a little more balancing. Add another pinch of sugar, or stir in a tablespoon of butter at the end. The fat helps mellow the acidity. If you used crushed tomatoes instead of whole, they tend to be more acidic, so adjust accordingly.
Can I freeze the soup with the cream already in it?
You can, but the texture might change slightly. Cream can separate when frozen and thawed. For the best results, freeze the soup before adding the cream. When you’re ready to serve, thaw, reheat, and stir in the cream at the end. The croutons should always be made fresh.
Pin This Recipe!

Creamy Tomato Basil Soup with Crispy Grilled Cheese Croutons
A velvety, perfectly balanced tomato basil soup topped with crispy, cheesy grilled cheese croutons. This comforting one-pot meal comes together in about 40 minutes with simple pantry ingredients.
- Prep Time: 10 minutes
- Cook Time: 30 minutes
- Total Time: 40 minutes
- Yield: 4 servings 1x
- Category: Main Course
- Cuisine: Italian
Ingredients
- 2 tablespoons unsalted butter
- 1 medium yellow onion, chopped
- 3 cloves garlic, minced
- 2 cans (28 ounces each) whole San Marzano tomatoes
- 1 cup low-sodium chicken or vegetable broth
- 1/2 teaspoon dried oregano
- 1/4 teaspoon red pepper flakes (optional)
- 1/2 cup heavy cream
- 1/4 cup fresh basil leaves, chopped, plus more for garnish
- 1 teaspoon sugar
- Salt and black pepper, to taste
- 4 slices sourdough bread (or any sturdy bread)
- 2 tablespoons unsalted butter, softened
- 1 cup shredded sharp cheddar cheese
- 1/4 cup grated Parmesan cheese
Instructions
- Melt the 2 tablespoons of butter in a large pot over medium heat. Add the chopped onion and cook, stirring occasionally, for about 5 to 7 minutes, until soft and translucent. Add the minced garlic and cook for another minute until fragrant.
- Pour in both cans of whole San Marzano tomatoes, including the juices. Break them up with a wooden spoon. Add the chicken or vegetable broth, dried oregano, red pepper flakes (if using), and sugar. Stir, bring to a gentle simmer, then reduce heat to low and cook uncovered for 20 minutes.
- Remove the pot from the heat. Use an immersion blender to puree the soup until completely smooth. If using a regular blender, work in batches, filling no more than halfway and venting the lid.
- Return the blended soup to the pot over low heat. Stir in the heavy cream and chopped fresh basil. Season with salt and black pepper to taste. Let warm through for 2 to 3 minutes without boiling.
- While the soup simmers, make the croutons: Heat a skillet over medium heat. Spread softened butter on one side of each bread slice. Place two slices butter-side down, distribute cheddar and Parmesan on them, then top with remaining slices butter-side up. Cook for 3 to 4 minutes per side until golden brown and cheese is melted. Let rest 1 minute, then cut into 1-inch cubes.
- Ladle hot soup into bowls, top generously with grilled cheese croutons, garnish with fresh basil and black pepper. Serve immediately.
Notes
Don’t rush the onion sweating—it builds the flavor base. Use whole San Marzano tomatoes for best texture and sweetness. Season in layers. Warm the cream before adding to prevent curdling. Toast croutons just before serving for maximum crunch. The soup can be made ahead and stored separately from croutons.
Nutrition
- Serving Size: 1 bowl (about 1.5 cu
- Calories: 420
- Sugar: 12
- Sodium: 680
- Fat: 28
- Saturated Fat: 16
- Carbohydrates: 32
- Fiber: 4
- Protein: 14
Keywords: tomato basil soup, creamy tomato soup, grilled cheese croutons, comfort food, easy soup recipe, one-pot meal


