The Ultimate Tomato Florentine Soup (Creamy & Easy!)
Imagine a soup that is the perfect intersection of comforting and elegant—a rich, velvety tomato broth, kissed with cream, and filled with silky, vibrant green spinach. That, my friends, is the pure, soul-warming magic of this Tomato Florentine Soup. It’s the kind of dish that tastes like it simmered for hours on a stovetop in Tuscany, but is secretly easy enough for a busy weeknight.
Here’s the thing about classic soups: the best ones are built on a foundation of simple, quality ingredients. I developed this recipe because I wanted that restaurant-quality flavor without any of the fuss. It’s my go-to for transforming a can of tomatoes and a bag of spinach into a meal that feels both incredibly wholesome and luxuriously decadent.
I promise you, there is no greater feeling than ladling out a bowl of this creamy, ruby-red soup, watching the steam rise, and knowing you created something so delicious from scratch. The sweetness of the carrots, the fragrance of the garlic and herbs, and the final swirl of cream create a perfect harmony. It’s a true hug in a bowl.
Get ready to master a timeless Italian-inspired soup that will have everyone convinced you’re a culinary pro.
Why This Tomato Florentine Soup is a Must-Try!
You are going to fall in love with the rich flavor and simple elegance of this soup. It’s a recipe that delivers on every level. Here’s why:
- Ready in 45 Minutes: From chopping the first onion to ladling it into bowls, this soup comes together in under an hour, making it perfect for a satisfying weeknight dinner.
- Luxuriously Creamy Texture: By blending the soup base before adding the cream and spinach, you achieve a wonderfully smooth, velvety texture that feels incredibly decadent.
- Healthy and Wholesome: Packed with vegetables like tomatoes, carrots, celery, and a generous amount of spinach, this soup is a delicious way to get your vitamins.
- Restaurant-Quality Flavor at Home: The secret is in the “sofrito”—sautéing the vegetables slowly to build a deep, aromatic flavor base that makes all the difference.
- Easily Adaptable: Keep it vegetarian or add protein like chicken or chickpeas. Make it dairy-free with one simple swap. This recipe is a perfect canvas for your own touches.
Recipe Snapshot
| Prep Time | 15 minutes |
| Cook Time | 30 minutes |
| Total Time | 45 minutes |
| Servings | 6 servings |
| Calories | 165 kcal per serving |
| Course | Soup |
| Cuisine | Italian Inspired |
| Difficulty/Method | Easy / Stovetop |
Your Shopping List for This Cozy Soup
This recipe uses humble pantry and fridge staples to create something truly special. Here’s what you’ll need:
→ For the Soup Base (Sofrito)
- 2 tbsp olive oil → The start of any good Italian-inspired dish!
- 1 medium onion → Finely chopped.
- 2 carrots → Peeled and diced. They add a subtle, earthy sweetness.
- 2 celery stalks → Diced. Completes the classic aromatic vegetable trio.
- 3 cloves garlic → Minced. For that fragrant, savory depth.
- 1 tsp salt → To season the veggies from the very beginning.
→ For the Rich Broth & Seasonings
- ½ tsp black pepper → Freshly ground is always best.
- 2 tsp Italian dried herbs → A perfect, easy blend of oregano, basil, and thyme.
- ¼ tsp red chili flakes → Optional, but recommended for a gentle warmth.
- 28 oz canned crushed tomatoes → (Two 14 oz cans). Quality matters here!
- 4 cups vegetable stock → Or chicken broth. Forms the flavorful liquid base.
- ½ cup heavy cream → Or half-and-half, for that luxurious, creamy finish.
→ For the Florentine Finish & Garnish
- 5 cups fresh baby spinach → The “Florentine” star! It wilts down beautifully into the hot soup.
- 6 basil leaves → Chopped or torn, for a final burst of freshness.
- Grated Parmesan cheese → For serving, a must-have salty, savory topping.
Let’s Get Cooking! Your Step-by-Step Guide
The beauty of this soup is in its simple, comforting process. Let’s build those layers of flavor.
Part 1: The Sofrito Flavor Base
- Sauté the Veggies: Heat the olive oil in a large pot or Dutch oven over medium heat. Add the chopped onion, carrots, and celery, and season with the salt. Sauté, stirring occasionally, for about 7 minutes until the vegetables are soft and the onion is translucent. This slow sauté is your secret to a flavorful soup!
- Bloom the Aromatics: Stir in the minced garlic, Italian herbs, black pepper, and red chili flakes (if using). Cook for one minute more, stirring constantly, until everything is wonderfully fragrant.
Part 2: Simmer and Blend
- Add Liquids and Simmer: Pour in the crushed tomatoes and the vegetable stock. Stir everything well to combine, scraping up any tasty bits from the bottom of the pot. Bring the soup to a boil, then reduce the heat to low, cover, and let it simmer for about 20 minutes to allow the flavors to meld and the vegetables to become very tender.
- Blend to Your Liking: For a deliciously creamy texture, use an immersion blender to blend the soup directly in the pot until smooth. If you prefer a chunkier soup, you can skip this step or just blend about half of it to get the best of both worlds.
Part 3: The Creamy Florentine Finish
- Stir in Cream and Spinach: Return the soup to a gentle simmer. Stir in the heavy cream until it’s fully incorporated. Add the fresh baby spinach and the chopped basil.
- Wilt and Season: Cook for another 2-3 minutes, just until the spinach has wilted into silky ribbons within the soup. Turn off the heat, taste the soup, and season with more salt and pepper if needed.
- Serve: Ladle the hot soup into bowls. Garnish generously with grated Parmesan cheese and a few extra fresh basil leaves.
WiseRecipes’ Top Tips for Perfect Tomato Soup
These simple secrets will take your soup from delicious to absolutely unforgettable.
- Don’t Rush the Sofrito. That initial 7-minute sauté of the onion, carrots, and celery is the most important step for building flavor. Let them soften and sweeten slowly over medium heat to create a deep, aromatic base.
- Use Good Quality Canned Tomatoes. Since tomatoes are the star of the show, the quality of your canned tomatoes will shine through. Look for brands like San Marzano or a fire-roasted variety for an extra layer of flavor.
- The Blending Trick is Key. Even if you like some texture, blending at least half the soup is the secret to a creamy, emulsified body without having to add a ton of cream. It makes the soup feel much more luxurious.
- Don’t Boil the Cream. After you add the heavy cream, bring the soup back to a very gentle simmer. Boiling cream can cause it to curdle or separate, so keep the heat low for that final step.
- Fresh Herbs Make a Difference. While dried herbs are great for the simmering process, adding fresh basil at the very end along with the spinach adds a final, vibrant burst of freshness that really brightens up the whole dish.
Tomato Florentine Soup
Ingredients
Equipment
Method
- Heat the olive oil in a large pot over medium heat. Add the chopped onion, celery and carrots, and season with a teaspoon of salt. Saute until soft and translucent, about 7 minutes.
- Stir in the minced garlic, dried herbs, pepper, and chili flakes (if using). Stir to combine and cook for 1 minute until fragrant.
- Pour in the crushed tomatoes and stock/broth. Stir well, bring the soup to a boil, then reduce the heat and let it simmer for about 20 minutes, or until the vegetables are tender.
- If you prefer a smoother texture, use an immersion blender to blend the soup until smooth. If you like it chunky, you can skip this step or blend only a portion of the soup.
- Stir in the heavy cream (or half-and-half) and bring the soup back to a gentle simmer. Add the fresh baby spinach and chopped basil and cook for another 2-3 minutes until the spinach is wilted.
- Taste the soup and season with more salt and pepper as needed. Ladle into bowls and serve with desired toppings like grated Parmesan cheese.
Notes
Keep It Cozy! Storing Your Soup
This soup makes for fantastic leftovers as the flavors continue to develop.
- Refrigerator: Store any leftover soup in an airtight container in the fridge for up to 4 days. Reheat gently on the stovetop or in the microwave.
- Freezing: This soup freezes beautifully! For the best results, freeze the soup before adding the cream and spinach. Let it cool completely, transfer to freezer-safe containers, and freeze for up to 3 months. When you’re ready to eat, thaw it, reheat it on the stove, and then stir in the fresh cream and spinach at the end.
FAQs: Your Tomato Florentine Soup Questions, Answered!
Can I make this soup dairy-free or vegan?
Absolutely! To make it dairy-free and vegan, simply substitute the heavy cream with a full-fat canned coconut milk or a dairy-free cooking cream. Use vegetable stock, and serve without the Parmesan cheese (or use a vegan alternative).
What if I don’t have an immersion blender?
No problem! You can carefully transfer the soup in batches to a regular blender. Just be sure not to fill the blender more than halfway, and remove the small cap from the lid (the feeder cap) and cover the opening with a folded kitchen towel. This allows steam to escape and prevents pressure from building up.
Can I use frozen spinach instead of fresh?
Yes, you can. You’ll need about a 10-ounce package of frozen chopped spinach. Make sure to thaw it completely and squeeze out as much excess water as possible before adding it to the soup, otherwise, it can make your soup watery.
How can I make this soup more filling?
This soup is a fantastic base for adding protein and fiber. As suggested in the recipe, stirring in a can of rinsed chickpeas or some pre-cooked, shredded chicken are excellent options. Serving it with a side of crusty bread or a grilled cheese sandwich is also a classic and delicious choice!
Final Thoughts: A Bowl of Pure Comfort
There is nothing quite like a simple, elegant soup to make you feel warm, cozy, and cared for. This Tomato Florentine Soup is a celebration of classic flavors and wholesome ingredients. It’s a recipe that proves you don’t need complicated techniques to create a truly memorable meal. I hope it brings a little bit of Italian-inspired sunshine to your kitchen table. Happy simmering!




