
A cozy Tomato Florentine soup with creamy white beans, bright tomatoes, and tender spinach—comforting, quick, and perfect for weeknights.

This Tomato Florentine soup has been my go-to when I want something comforting, bright, and nourishing all at once. I discovered this combination on a rainy evening while cleaning out the pantry and fridge: a can of crushed tomatoes, a can of cannellini beans, a handful of baby spinach, and a little cream. It felt like a revelation — rich and silky, yet lightened by the spinach and tomato acidity. The balance between the creamy beans and the vibrant tomato base is what keeps me coming back to this bowl again and again.
I first served it to my family the winter after I moved into my own kitchen. My partner, who normally prefers meat-forward dishes, declared it "surprisingly hearty" and went back for seconds. The texture is the magic: pureed beans add body without heaviness, while a splash of heavy cream rounds the acidity into velvet. It's an approachable dish that works as a starter, a light main with crusty bread, or a quick weeknight dinner when time is short but you want something that tastes like you spent hours on it.
Personally, I love how forgiving it is — if the tomatoes are brighter one week, reduce the cream slightly; if your beans are saltier, cut back on the added salt. Over the years I’ve learned little tweaks that make it reliably delicious: always sweat the Vidalia until translucent for a sweet onion base, toast the tomato paste until it darkens for deeper flavor, and add the spinach in batches so it wilts evenly without turning limp.

My favorite thing about this recipe is how adaptable it is. On a busy weeknight I’ll use a hand blender to create a smoother bowl for the kids, while on a quiet Sunday I leave the beans whole and pair it with toasted focaccia and a peppery olive oil drizzle. Family and friends often ask for the recipe, and I love how it feels both elegant and homey — a true crowd-pleaser that’s easy to scale up.

Cool the soup to room temperature before refrigerating to avoid condensation inside the container. Use airtight glass containers for best flavor retention; mason jars work well and stack easily. In the fridge, consume within 4 days. For longer storage, freeze in meal-sized portions, leaving 1 inch headspace to allow liquids to expand. Thaw overnight in the refrigerator and reheat on the stovetop over low heat, stirring occasionally. If you froze the soup before adding cream, stir in the cream after reheating for the freshest finish.
If you prefer to reduce calories, swap heavy cream for 1 cup of half-and-half or a 3/4 cup of whole milk combined with 2 tablespoons of cornstarch whisked in to help thicken. Use navy beans if cannellini are unavailable — the texture will be comparable. For a dairy-free version, substitute coconut cream or full-fat canned coconut milk (note the mild coconut note it will add). If you avoid garlic, a pinch of asafoetida or a small shallot can provide depth without the distinct garlic flavor.
Serve with crusty bread for dipping — sourdough or a seeded baguette complements the acidity. A drizzle of chili oil or a sprinkle of toasted pumpkin seeds adds texture for a more modern presentation. For a heartier meal, pair with a simple green salad dressed in lemon vinaigrette or serve alongside grilled cheese for nostalgic comfort. Garnish with fresh basil chiffonade or shaved Parmesan to add an aromatic finish.
This bowl combines elements from Italian cucina — tomato, cream, and spinach — with American comfort-soup sensibilities. The term Florentine traditionally denotes dishes prepared with spinach, honoring recipes associated with Florence. Using cannellini beans nods to Tuscan beans common in Italian soups and stews, while the addition of cream and the one-pot method reflect modern American home cooking convenience and texture preferences.
Summer: use fresh peeled tomatoes when they’re in season — blanch, peel, and crush for a brighter flavor. Winter: add a pinch of smoked paprika and a splash of balsamic vinegar to deepen flavors and emulate slow-cooked richness. For spring, add a lemon zest finish and a handful of fresh peas to brighten the bowl. Adjust the spinach to tender spring greens like baby chard for delicate seasonal variations.
Make a large batch at the start of the week and portion into individual containers for lunches. Reheat on the stove or in the microwave, and add spinach just before serving to maintain color. If freezing, omit the cream and add it when you reheat to keep the soup silky. Label containers with dates and reheat gently to avoid splitting the cream; a splash of stock while reheating helps restore a smooth emulsion.
This Tomato Florentine soup is one of those recipes I return to again and again because it’s comforting, flexible, and reliably delicious — a bowl that feels like a warm hug and tastes like home. I hope it becomes a staple in your kitchen as it has in mine.
Brown the tomato paste until it deepens to remove raw flavor and add richness.
Rinse canned beans well to reduce sodium and any metallic can flavor.
Add spinach in batches so it wilts evenly and retains bright color.
Use low-sodium stock to better control the final salt level.
If you prefer a smoother texture, blend half the soup with an immersion blender before adding cream.
This nourishing tomato florentine soup recipe is sure to be a staple in your kitchen. Enjoy every moist, high protein slice — it is perfect for breakfast or as a wholesome snack any time.
Yes — use low-sodium vegetable stock and you can keep it vegetarian. For vegan, substitute cream with canned coconut milk and ensure stock is vegetable-based.
Freeze up to 3 months. Freeze before adding cream; add cream after reheating.
This Tomato Florentine Soup recipe makes perfectly juicy, tender, and flavorful steak every time! Serve with potatoes and a side salad for an unforgettable dinner in under 30 minutes.

Heat 2 tablespoons olive oil in a large Dutch oven over medium heat until shimmering, about 30 seconds. Keep the temperature moderate to avoid burning the oil.
Add 1 diced Vidalia onion and cook 2–3 minutes until translucent. Stir in 2 minced garlic cloves and cook 30 seconds until fragrant, keeping the heat moderate to prevent bitter garlic.
Stir in 1 tablespoon Italian seasoning and 1 tablespoon tomato paste. Cook 1–2 minutes until the paste is a deep burgundy to intensify flavor and remove raw edge.
Pour in 2 cups stock, 28 ounces crushed tomatoes, 1 cup tomato sauce, 1 teaspoon kosher salt, 1/2 teaspoon smoked paprika, and 1/2 teaspoon fresh ground pepper. Bring to a boil, then reduce heat and simmer 5 minutes.
Stir in the drained 15.5 ounce can of cannellini beans and cook 2–3 minutes to heat through. For a thicker texture, lightly pulse with an immersion blender now.
Slowly stir in 3/4 cup heavy cream. Add 2 cups fresh baby spinach in two additions, stirring until wilted. Adjust seasoning to taste and serve warm with bread.
Last Step: Please leave a rating and comment letting us know how you liked this recipe! This helps our business to thrive and continue providing free, high-quality recipes for you.
Leave a comment & rating below or tag
@velvetyum on social media!


Tender grilled zucchini rolled with a basil-kissed ricotta filling, nestled in marinara, and baked until the mozzarella bubbles and turns golden.

Golden, garlicky rounds with a deep-fried crunch made lighter in the air fryer. A fast, vitamin-packed side everyone devours.

Tender chicken meatballs simmered in marinara, finished with melted mozzarella and basil for cozy, weeknight Italian comfort in every bite.

Leave a comment & rating below or tag @velvetyum on social media!
Enjoyed this recipe? Share it with friends and family, and don't forget to leave a review!
This recipe looks amazing! Can't wait to try it.
Comments are stored locally in your browser. Server comments are displayed alongside your local comments.
Join to receive our email series which contains a round-up of some of our quick and easy family favorite recipes.