30-Minute Creamy Tomato Florentine Soup
A can of tomatoes and a bag of spinach are all you need to turn a pantry dinner into something that feels a little special. This tomato Florentine soup comes together in half an hour and tastes like it simmered much longer.

The spinach wilts right into the pot and the cream softens everything without making it heavy. Serve it with toast and you have a meal that can handle a hungry weeknight.
Why This Soup Belongs On Your Weeknight Rotation
The base starts with canned pantry staples, so I can pull this together even when the fridge looks bare. The spinach adds enough substance to call it dinner, while the cream rounds out the acidity and gives it a velvety body.
It is the kind of soup that feels like it needed hours of slow cooking, but the whole thing lands on the table in the time it takes to toast a few slices of bread. That ratio of effort to payoff keeps it on my menu on repeat.
Ingredients

- 2 tbsp olive oil: extra virgin works, but any neutral cooking oil is fine
- 1 medium yellow onion, diced: about 1 cup
- 3 garlic cloves, minced: fresh gives the best flavor
- 1 tsp dried Italian seasoning: or a mix of dried oregano and basil
- 1/4 tsp crushed red pepper flakes: optional, for a gentle warmth
- 1/2 tsp sugar: optional, to balance the acidity of the tomatoes
- 1 (28 oz) can crushed tomatoes: whole peeled tomatoes work too, crush them by hand before adding
- 2 cups vegetable broth: or chicken broth for a non-vegetarian version
- Salt and freshly ground black pepper: to taste
- 4 cups (about 5 oz) fresh baby spinach: roughly chopped if the leaves are large
- 1/2 cup heavy cream: plus a little extra for swirling on top
- Fresh basil or grated Parmesan: for serving
Variations / Substitutions
- Add protein: Stir in a can of drained white beans or a cup of shredded rotisserie chicken for a heartier bowl.
- Switch up the herbs: Fresh basil is classic, but chopped parsley or a few oregano leaves also work well.
- Dial up the heat: Increase the red pepper flakes or add a pinch of cayenne.
- Brighten at the end: A squeeze of lemon juice or a drizzle of good balsamic vinegar lifts all the flavors right before serving.
- Make it vegan: Use full-fat coconut milk or cashew cream in place of the heavy cream.
If you love creamy tomato soups, you will probably also enjoy our Roasted Garlic and Tomato Bisque.
How to Make Tomato Florentine Soup
Step 1: Sauté the Onion and Garlic

Heat the 2 tbsp olive oil in a large pot or Dutch oven over medium heat. Once it shimmers, add the diced onion and cook, stirring occasionally, until softened and translucent, about 5 minutes. Stir in the minced garlic, Italian seasoning, and crushed red pepper flakes (if using), and let them sizzle until fragrant, about 1 minute more.
The onions should look glossy and pale gold, not browned. The garlic will perfume the oil, which is your cue the base is ready.
Step 2: Simmer the Tomato Base

Pour in the can of crushed tomatoes with all their juices and the 2 cups of broth. Add the sugar, 1/2 tsp salt, and a few grinds of black pepper. Stir everything together and bring the pot to a gentle boil, then lower the heat so the soup simmers steadily. Cook uncovered for 15 minutes, stirring once or twice, so the flavors meld and the tomatoes soften further.
You will notice the soup deepen from bright red to a richer brick color. A thin layer of oil might rise to the top, that is normal. Taste the broth and adjust the salt, it should taste well-seasoned but not salty.
Step 3: Blend the Soup Smooth

Remove the pot from the heat and let it cool for a minute. Use an immersion blender to purée the soup directly in the pot until smooth and velvety. If you are using a standard blender, work in batches and be careful with the hot liquid, leave the lid vent open to let steam escape. Return the blended soup to the pot.
The texture should be silky but not watery. If it feels too thick, splash in a little more broth until it is pourable. You can leave a few chunks if you prefer a more rustic consistency.
Step 4: Wilt the Spinach and Finish

Set the pot back over low heat. Stir in the heavy cream until the soup turns a creamy orange-pink. Then add the fresh spinach a handful at a time, folding it in until it wilts, about 1 to 2 minutes.
The spinach will shrink dramatically and turn bright green as it hits the hot soup. Keep the heat low, a simmering bubble is fine but avoid a rolling boil, which can cause the cream to separate.
Step 5: Ladle and Garnish

Ladle the soup into bowls while it is still steaming. Add a small swirl of cream on top, a crack of black pepper, and a few fresh basil leaves or a dusting of Parmesan.
Serve right away with something crusty for dipping. The soup will be hot, creamy, and speckled with green.
Tips for the Best Tomato Florentine Soup
- Choose a can of whole peeled tomatoes and crush them by hand if you like a chunkier, more rustic soup. Whole tomatoes tend to have the sweetest flavor.
- Bring the heavy cream to room temperature before adding it to the hot soup. This small step reduces the risk of curdling and helps it blend in seamlessly.
- Fire-roasted canned tomatoes add a subtle smoky depth that pairs beautifully with the spinach. It is an easy swap that changes the whole character.
- If the soup tastes flat after blending, a small squeeze of lemon juice or a splash of vinegar can brighten it without adding more salt.
Scaling up for a crowd:
| Servings | Crushed Tomatoes | Vegetable Broth | Spinach | Heavy Cream |
|---|---|---|---|---|
| 4 | 1 (28 oz) can | 2 cups | 4 cups | 1/2 cup |
| 6 | 1 (28 oz) can + 1 (14 oz) can | 3 cups | 6 cups | 3/4 cup |
| 8 | 2 (28 oz) cans | 4 cups | 8 cups | 1 cup |
Storing and Reheating Leftovers
- Refrigerate: the soup in an airtight container for up to 4 days. The spinach will soften but the flavor stays bright.
- Reheating: is best done gently on the stovetop over low heat, stirring occasionally. Do not let it boil or the cream may break.
If you want to freeze the soup, leave out the cream, then stir in fresh cream when you reheat it. The uncreamed base freezes well for up to 3 months.
What to Serve with Tomato Florentine Soup
A crusty loaf of sourdough is the obvious choice for dunking. For a heartier meal, melt sharp cheddar on thick-cut bread for a grilled cheese that stands up to the creamy broth. A simple arugula salad dressed with lemon vinaigrette cuts through the richness and keeps things bright.
Frequently Asked Questions
Can I use frozen spinach instead of fresh?
Yes, absolutely. Thaw 10 oz of frozen spinach and squeeze out the excess water before adding it to the soup in Step 4. The texture will be slightly softer, but the flavor is just as good.
Is this soup gluten-free?
Yes, as written the soup is naturally gluten-free. Just double-check that your broth does not contain any hidden gluten and skip the bread if you are sensitive.
Can I add pasta to make it more filling?
Definitely. Stir in 1 cup of small pasta like ditalini or orzo during the last 10 minutes of simmering in Step 2, before blending. You may need to add an extra 1/2 cup of broth if the soup thickens too much.
Can I use milk instead of heavy cream?
You can, though it will be less rich. Use whole milk and keep the heat very low after adding it to avoid any curdling. The soup will still be creamy, just a bit thinner.
Tomato Florentine Soup Recipe
Ingredients
Method
- Heat olive oil in a large pot over medium heat. Sauté onion until softened, about 5 minutes, then add garlic, Italian seasoning, and red pepper flakes and cook 1 minute until fragrant.
- Add crushed tomatoes, broth, sugar, 1/2 tsp salt, and pepper. Bring to a boil, then lower heat and simmer uncovered for 15 minutes, stirring occasionally.
- Remove from heat and cool slightly. Blend with an immersion blender until smooth, or carefully blend in batches and return to the pot.
- Place pot over low heat, stir in heavy cream, then add spinach a handful at a time until wilted, about 2 minutes.
- Ladle into bowls, top with a cream swirl, black pepper, and fresh basil or Parmesan. Serve hot.
