Tomato Florentine soup is that cozy, comforting dish you’ll want on repeat. With the perfect blend of tomato goodness, spinach, and a touch of cream, it’s a bowl of pure happiness that feels like a warm hug. Top with chickpeas or cooked chicken for extra protein!
Jump to: ℹ️ Overview | 🛒 Ingredients | 📷 How To Make | 📹 Watch The Video | 👩🍳 Recipe Tips | 🥖 Serving Suggestions | 📝 Full Recipe Card | 🍽 More Soup Recipes
Tomato Florentine soup is a classic recipe with roots in Italian cuisine, where “Florentine” typically means a dish prepared with spinach.
This gluten-free and vegetarian soup combines the vibrant flavours of tomatoes with the fresh, earthy taste of spinach, all brought together in a creamy, satisfying broth. It’s a cozy, comforting soup that’s as nourishing as it is delicious, with a perfect balance of richness and freshness.
Whether you enjoy it chunky or smooth, this recipe is a versatile staple that’s been adapted over the years to become a beloved dish in many kitchens. Serve it on its own or with your favourite toppings (chickpeas, beans, chicken, croutons) for a meal that’s hearty, healthy, and full of flavour.
👩🍳 If you like tomato-based soups and stews, check out my roasted cherry tomato soup (with Mascarpone), refreshing gazpacho soup (great for summer), chicken and kale tortilla soup (paleo-friendly), creamy red chicken chili, or my stewed tomatoes recipe.
What You’ll Need
Here is what you’ll need for this tomato florentine recipe. Find the full measurements in the recipe card below.
- Base veggies: Onion, carrots, celery (these are the trifecta of flavour, also known as sofrito, don’t skip them!)
- Tomato goodness: Crushed tomatoes and vegetable stock or broth (I often use stock cubes and water)
- Flavour enhancers: Garlic, Italian herbs, black pepper, optional red pepper or chili flakes (for a little kick, I think it’s very complimentary)
- Creamy touch: Heavy cream or half-and-half (you can lighten it up with light cream or sour cream if you prefer)
- Greens: Fresh baby spinach and basil (feel free to swap in kale or chard)
- Toppings: These are optional but if you want to add extra protein, you can add in canned chickpeas or beans, or some cooked chicken. Croutons are quite nice as well. Grated Parmesan is a must in my opinion!
How To Make Tomato Florentine Soup
Find the full recipe and nutritional information below. Here are some handy step-by-step photos.
- Prep the veggies: Dice onions, carrots and celery into small cubes; finely chop the garlic.
- Sauté the base: Heat olive oil, cook onion, carrots, and celery until soft.
- Add the aromatics: Stir in garlic, herbs, and optional chili flakes until fragrant.
- Simmer: Pour in the tomatoes and broth, then let it bubble away until veggies are tender.
- Blend (optional): Puree the soup for a smooth texture or leave it chunky for a rustic feel.
- Add cream and spinach: Stir in the cream, then toss in the spinach until it wilts.
- Serve: Season to taste, then ladle into bowls and top with Parmesan, croutons, or extra protein like chickpeas or chicken.
Watch The Video
Recipe Tips
- Boost the flavour: A splash of white wine after sautéing the onions adds depth.
- Richness hack: Stir in a tablespoon of tomato paste with the dried herbs for a bolder tomato flavour. I also love adding sun-dried tomatoes when I have them.
- Protein upgrade: Add cooked chicken or white beans for an extra hearty version.
- Make it Paleo/Whole30: Use coconut cream instead of regular cream for a dairy-free version; in this case, I like to change up the flavour a little bit from Italian to more Asian, and I add a teaspoon of curry powder which goes well with tomatoes, as well as some ginger. I use fresh coriander/cilantro in place of basil at the end.
- Make it Tex-Mex: swap out the spices and turn it into a Tex-Mex-inspired soup; you can add smoked paprika, cumin and coriander seed, switch Italian herbs for dried oregano, and add some extra chili. Stir in a can of black beans or cooked chicken and serve with fresh coriander/cilantro and grated Cheddar or Mexican Cotija cheese and tortilla chips on top.
Serving Suggestions
I usually serve tomato Florentine soup with some buttered sourdough toasts (which I also rub with some fresh garlic, yum!). We almost always add in some chickpeas or cooked chicken (or both) for extra protein. I find this is necessary if you’re serving this as a main meal. But you could also serve it as a starter dish without any additions. This soup works beautifully as a starter for an Italian-themed dinner night.
Want to Save This Recipe?
Enter your email & I’ll send it to your inbox. Plus, get great new recipes from me every week!
By submitting this form, you consent to receive emails from Cooked & Loved
Ingredients
- 2 tablespoons olive oil
- 1 medium onion finely chopped
- 2 carrots peeled and diced
- 2 celery stalks diced
- 1 teaspoon salt
- 3 cloves garlic minced
- ½ teaspoon black pepper
- 2 teaspoons Italian dried herbs
- ¼ teaspoon red chili flakes or red pepper flakes, optional for a bit of heat
- 28 oz canned crushed tomatoes 2 x 14 oz cans
- 4 cups vegetable stock or chicken broth, you can use water and stock cubes
- ½ cup heavy cream or half-and-half
- 5 cups fresh baby spinach about 110 grams or 4 oz
- 6 basil leaves chopped or torn
To serve
- Grated Parmesan cheese
- Croutons
- Chickpeas
- Cooked chicken diced or shredded
- Extra fresh basil leaves
Instructions
- Prepare the sofrito base: 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.
- Season and simmer: 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 (or water and stock cubes). Stir well to combine all the ingredients.
- Cook the Soup: Bring the soup to a boil, then reduce the heat and let it simmer for about 20 minutes, or until the vegetables are tender.
- Blend for texture: If you prefer a smoother texture (I do), 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.
- Add the cream and spinach: Stir in the heavy cream (or half-and-half) and bring the soup back to a gentle simmer. Add the fresh baby spinach and cook for another 2-3 minutes until the spinach is wilted and tender.
- Season to taste: Taste the soup and season with more salt and pepper as needed.
- Serve: Ladle the soup into bowls, and sprinkle with grated Parmesan cheese. Top with chickpeas or diced cooked chicken for extra protein, if you wish. Garnish with fresh basil leaves.
Video
Notes
- 1/2 cup chickpeas: 134 kcal, 7.3 g protein, 2.1 g fat, 22.5 g carbs, 6.2 g fiber.
- 100 grams of cooked chicken breast: 165 kcal, 31 g protein, 3.6 g fat, 0 g carbs, 0 g fiber.
- 1 tablespoon grated Parmesan cheese: 22 kcal, 2 g protein, 1.5 g fat, 0.2 g carbs, 0 g fiber.
- 5 croutons (about 7 grams, plain): 35 kcal, 0.5 g protein, 1.4 g fat, 5.2 g carbs, 0.3 g fiber.
This looks lovely Irena, could you using some natural yogurt instead of cream? Thanks
Hey Bernadine,
Yes, you could but the flavour might be quite tangy as tomato soup itself is tangy. You can use light cream instead and halve the amount for a healthier version that’s lower in calories. If you do use yogurt, I would suggest halving the amount recommended.