Soups & Stews
A spinach tomato soup recipe that balances bright acidity with velvety texture transforms simple ingredients into a restaurant-worthy dish. The secret lies in sautéing garlic and onions until fragrant—this foundational step builds flavor before the tomatoes and spinach even enter the pot.
I developed this version after years of testing, refining the balance between creamy and fresh, rich and light.
What sets this soup apart is its herb-infused depth—fresh basil and thyme steeped in the simmering broth infuse every spoonful with aromatic complexity. The blending technique matters too: pulse just until smooth for a velvety finish, but leave subtle texture if you prefer rustic character.
Ready in under 45 minutes, this soup delivers professional results without requiring advanced skills.
By the time you serve it, you’ll have a bowl of bright red-golden soup with tender spinach strands suspended in a silky broth. The acidity from tomatoes cuts through the creaminess, while herbs add layers of freshness that linger.
Garnish with a swirl of cream, crispy bread croutons, or a sprinkle of parmesan for added texture and richness.
This recipe scales beautifully—double it for meal prep or serve as-is for a cozy weeknight dinner. The versatility makes it perfect for any season, though it shines especially during spring when tomatoes and spinach are at their peak. Let’s make this soup the star of your table.
Ingredients for spinach tomato
Simple ingredients that pack a flavor punch—herbs, tomatoes, and cream come together in minutes.
| Ingredient | Amount | Notes |
|---|---|---|
| Extra-Virgin Olive Oil 🫒 | ½ cup | For sautéing aromatics |
| Canned San Marzano Tomatoes 🍅 | 28 oz | Crushed or diced, no salt added |
| Yellow Onion 🧅 | 1 whole | Medium size, diced |
| Garlic Cloves 🧄 | 4 cloves | Freshly minced |
| Fresh Spinach 🌿 | 8 oz | Baby spinach preferred |
| Heavy Cream 🥛 | ½ cup | Full-fat for creaminess |
| Vegetable Broth 💧 | 2 cups | Low-sodium preferred |
| Fresh Basil Leaves 🌿 | ¼ cup | Packed, chopped |
| Fresh Thyme 🌿 | ½ tsp | Leaves only, chopped |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
| Parmesan Cheese 🧀 | ¼ cup | Freshly grated |
The tomatoes are the heart of this soup. San Marzano makes all the difference—they're sweeter, less acidic, and perfect for balancing the creaminess. Grab a 28 oz can from the Italian section at Whole Foods or Trader Joe's if you want to splurge. No San Marzano? Any good-quality crushed tomatoes work, just taste first. The spinach? Baby spinach wilts faster and keeps its vibrant color, but regular leaves work too. I usually grab a 16 oz bag and use half, saving the rest for salads. Fresh herbs are non-negotiable here—they infuse the soup with that aromatic depth. Penzeys or the bulk bins at natural markets have the freshest thyme and basil.
No fresh basil? Dried works at one-third the amount, but it won't have that same bright punch. Short on time? Pre-chopped spinach from the salad bar saves minutes. The heavy cream is where the soup gets its velvety texture—full-fat is worth it here. If you're watching calories, Greek yogurt thinned with a splash of milk gets you close. The vegetable broth? Low-sodium is key—you'll be adding extra salt later. No vegetable broth? Water plus a bouillon cube works, but add a pinch of sugar to balance the bitterness. The Parmesan is optional but adds a nice salty finish—grate it yourself for the best texture.
This soup tastes even better the next day—honestly, the flavors meld into something magical. Keeps for 4-5 days in the fridge, or 3 months frozen. I like to portion it into containers so I can grab a bowl whenever I want. Freeze in 2-cup portions for easy reheating. To reheat, warm on the stove over medium-low heat, stirring often. If it gets too thick, add a splash of milk or broth. Garnish with extra Parmesan or a drizzle of olive oil before serving—that's where the restaurant-worthy details happen.
Why You'll Love This Recipe
- No-Chop Nightmare: I swear by this one—just slice the onion once and let it soften while I dump in the tomatoes and spinach. The garlic? Two cloves, minced in 30 seconds. That’s it. My lazy Sundays just got a hero.
- Tomato-Garlic Magic: San Marzano tomatoes caramelize into something sweet and jammy, while the garlic—properly browned in olive oil—adds that crisp, toasty punch. The spinach wilts in seconds, soaking up every last drop of that golden sauce. Honestly, it’s the kind of flavor that makes you pause mid-bite.
- Weeknight to Potluck: This is my go-to when I’m too tired for fuss but need something impressive. Serve it over crusty bread for a quick lunch, or pile it onto pasta for a dinner that’ll fool your friends. (Yes, even on a Tuesday night.) The leftovers? Just as good reheated—better, even.
- Budget-Friendly Powerhouse: Canned tomatoes and a bunch of spinach keep costs low, but the olive oil and garlic make it feel special. I’ve fed four people for under $10 with this, and no one ever guesses how simple it was. Plus, it’s one of those dishes that tastes better the next day—so you’re basically getting two meals for the price of one.
Step-by-step instructions for spinach tomato soup
Here's how to create a velvety soup with perfect balance—creamy yet bright, rich but never heavy.
Sauté Aromatics Until Fragrant
Heat the 0.5 cup extra-virgin olive oil in a large pot over medium heat. Add the diced yellow onion and cook for 5 minutes until it becomes translucent and just starting to soften. You'll see the edges curl slightly—that's your cue to add the 4 cloves minced garlic cloves and 0.5 tsp chopped fresh thyme. Cook for another 30 seconds until the garlic releases its aroma but doesn't brown.
This step builds the flavor foundation. If you smell the garlic burning, reduce the heat immediately—it turns bitter fast. Keep the onions moving in the pan to prevent sticking, and don't rush this part. The deeper the aromatics cook, the more complex the soup's flavor will be.
Simmer Tomatoes and Broth
Pour in the 28 oz canned San Marzano tomatoes (crushed or diced) and 2 cups vegetable broth. Bring to a boil, then reduce heat to medium-low and let it simmer uncovered for 15 minutes. Stir occasionally to prevent the tomatoes from sticking to the bottom.
As it simmers, you'll notice the mixture thicken slightly and develop a rich, tangy aroma. This is where the tomatoes release their natural sweetness and acidity. If the soup looks too thick after 15 minutes, add ¼ cup water to loosen it. The goal is a smooth, velvety texture without any tomato skins floating on top.
Incorporate Spinach and Herbs
Add the 8 oz fresh spinach and stir for 2-3 minutes until it wilts completely. The spinach will turn vibrant green and disappear into the soup—this is exactly what you want. Next, fold in the 0.25 cup chopped fresh basil leaves and 1 tbsp lemon juice. The lemon brightens the whole dish, cutting through the richness of the tomatoes and cream.
Here's the thing—don't overcook the spinach. It should melt into the soup rather than retain any texture. If you're using baby spinach, it wilts faster than mature leaves. Taste the soup now before adding cream—you'll want to balance the flavors before making it too heavy.
Finish with Cream and Season
Reduce the heat to low and slowly whisk in the 0.5 cup heavy cream. Let it warm through for 2-3 minutes, stirring constantly to prevent curdling. The soup should become luxuriously smooth and velvety. Season with 1 tsp salt and 0.5 tsp black pepper, adjusting to taste. Remember, the broth might be low-sodium, so you may need to add extra salt.
If the soup tastes too acidic, add a pinch more salt or a tiny bit of sugar. If it's too mild, squeeze in a little more lemon juice. This is where you fine-tune the balance between creamy, tangy, and herby. The cream should make the soup rich but not overwhelming—think "comforting" rather than "heavy."
Garnish and Serve Warm
Ladle the soup into bowls and top each serving with 0.25 cup freshly grated Parmesan cheese. The Parmesan adds a salty, umami punch that ties all the flavors together. Serve immediately while it's hot—this soup tastes best fresh from the pot, with the cream still silky and the herbs vibrant.
For extra flair, you can add a drizzle of olive oil or a sprinkle of red pepper flakes on top. The contrast of warm soup with cool garnishes makes every bite even more satisfying. Pair it with crusty bread or a simple green salad to round out the meal. The leftovers keep well in the fridge for 2-3 days, but honestly? You'll probably eat it all in one sitting.
Pro Tips For Making Spinach Tomato
- CRANK THE HEAT FOR ONIONS: The onion needs to go from raw to golden in 5-6 minutes—no lingering in sad, translucent limbo. If it’s dancing with the garlic too soon, you’re losing flavor. High heat first, then lower it once it’s caramelized enough to make your kitchen smell like a pizzeria.
- SALT THE TOMATOES BEFORE CRUSHING: Dump those San Marzanos into a bowl, crack them open with a spoon, and sprinkle with 1 teaspoon of salt. Let them sit 10 minutes—they’ll soften, release juice, and taste deeper. Skipping this means your sauce will stay thin and bland, and we’re not here for that.
- STOP WHEN SPINACH IS WILTED, NOT MUSHED: Toss spinach in while the tomatoes are still simmering, but pull it out the second it collapses—about 30 seconds. Overcooking turns it into a sad, watery sludge. A handful of torn basil at the end keeps it bright and fresh.
- USE THE GARLIC’S JUICE, NOT JUST THE FLAVOR: Smash those cloves with the flat of your knife before adding them—this releases more oil and flavor. Let them sizzle for 30 seconds until fragrant, then remove them. Leaving them in too long burns the garlic and makes the whole dish taste bitter.
Best sauces and condiments for these flavors
Creamy Dairy Options
Heavy cream is my go-to for that luxurious texture, but you can swap it for ½ cup Greek yogurt thinned with 2 tbsp milk if you prefer a lighter option. For extra richness, try ¼ cup crème fraîche—it adds tangy depth without curdling.
If you're avoiding dairy, ½ cup coconut cream works surprisingly well, though it has a slightly sweeter profile. Always warm dairy gently to prevent separation. 🥛
Acidity Balancers
Fresh lemon juice is essential for cutting through the creaminess, but you can experiment with 1 tsp apple cider vinegar for a tangier kick. A pinch of sugar (about ½ tsp) balances acidity if the tomatoes taste too sharp.
For a smoky twist, add ½ tsp smoked paprika when simmering the tomatoes. These adjustments let you customize the soup to your taste preferences. 🍋
Herb Variations
Fresh basil and thyme are my staples, but don't hesitate to swap them. Try ½ tsp dried oregano for a Mediterranean flair or 1 tsp fresh dill for a brighter, almost cucumber-like note.
For a spicier profile, add ½ tsp red pepper flakes with the garlic. Each herb brings a unique aroma that elevates the soup's complexity. 🌿
Umami Boosters
Parmesan cheese adds depth, but you can enhance umami in other ways too. Stir in 1 tbsp soy sauce or ½ tsp fish sauce (trust me, it blends seamlessly) for a savory punch.
A splash of 1 tsp Worcestershire sauce works wonders if you're not avoiding animal products. For a vegetarian option, add 1 tbsp nutritional yeast—it adds a cheesy, nutty flavor without dairy. 🧀
Texture Enhancers
For a rustic touch, blend only half the soup and leave the other half chunky with visible tomato pieces and spinach strands. Top with toasted bread croutons or crispy fried shallots for crunch.
A drizzle of high-quality extra-virgin olive oil (like Colavita) adds silkiness and richness. These textures create a satisfying contrast in every spoonful. 🍞
Spice Infusions
If you love heat, add 1 tsp chili flakes or ½ tsp cayenne pepper when sautéing the aromatics. For warmth, try ½ tsp ground cinnamon or ¼ tsp ground nutmeg—they pair surprisingly well with tomatoes.
A pinch of black cardamom adds an exotic twist. These spices transform a simple soup into a globally inspired dish. 🌶️
Nutrition facts
Frequently asked questions
Can I make this spinach-tomato soup without cream?
For a lighter version, replace the heavy cream with ½ cup Greek yogurt thinned with 2 tbsp milk or ½ cup coconut milk. The soup will still be flavorful, though slightly less velvety. Stir in 1 extra tbsp lemon juice to brighten the flavor.
How do I prevent the spinach from turning bitter?
Bitter spinach happens when it overcooks. Add it to the simmering broth just 2-3 minutes before removing from heat, or stir it in at the very end. Baby spinach wilts faster than mature leaves, so adjust timing accordingly. Never boil spinach—it releases bitterness.
What's the best way to store leftovers?
Store in an airtight container in the fridge for 4-5 days. For freezing, portion into 2-cup servings and freeze for up to 3 months. Thaw overnight in the fridge, then reheat gently on the stove, adding a splash of broth if it thickens too much. Never microwave from frozen.
Can I use frozen spinach instead of fresh?
Yes, but thaw and drain it first to remove excess water. Use 6 oz frozen spinach (instead of 8 oz fresh) since it's more concentrated. Add it with the tomatoes and simmer until fully incorporated. Fresh spinach gives better texture, but frozen works in a pinch.
Why did my soup separate when adding cream?
This happens when cream is added too quickly or the soup is too hot. Always whisk cream in slowly over low heat, and never let the soup boil after adding it. If separation occurs, stir in 1 tsp cornstarch mixed with 1 tbsp water to stabilize. For next time, warm cream separately before adding.
