Save to Pinterest There's something about the smell of sautéed carrots and celery that pulls me straight back to my friend Marco's kitchen in Florence, where he taught me that the best soups don't need fancy ingredients—just patience and good olive oil. He'd say the soffritto is where the magic starts, and honestly, he was right. This Tuscan white bean and spinach soup became my go-to when I wanted something that tasted like I'd spent all day cooking but actually took less than an hour. It's the kind of dish that feels like a warm hug after a long day, and somehow it tastes even better the next morning.
I made this soup for my neighbor Janet on a freezing February afternoon when she'd been stuck inside recovering from the flu. She took one spoonful and literally teared up, which made me realize that sometimes the simplest food carries the most weight. She called me the next day just to say it had become her new favorite thing, and now whenever I make it, I think of her sitting at that kitchen table, slowly coming back to life with every bowl.
Ingredients
- Olive oil: Use a good quality extra virgin oil here—it's one of only a few ingredients, so it matters more than you'd think, and it's worth spending a bit extra.
- Yellow onion, carrots, and celery: This is your soffritto base, and it needs time to soften properly so the flavors have room to develop and build into something deeper.
- Garlic cloves: Mince these finely and add them after the soffritto softens so they don't burn and turn bitter on you.
- Cannellini beans: Drain and rinse them well to remove that starchy liquid, which otherwise can make the broth cloudy and metallic-tasting.
- Vegetable broth: Low-sodium is key because you'll be reducing the liquid slightly and adding herbs that pack flavor, so you don't want to end up with something too salty.
- Dried thyme and rosemary: These are the soul of the soup—they're what makes it taste Tuscan and not just like beans in water, so don't skip them.
- Bay leaf: One leaf is enough; I learned this the hard way when I accidentally threw in two and the soup tasted aggressively herbal for days.
- Red pepper flakes: Optional but honestly worth it for a subtle warmth that makes people say the soup tastes more interesting without knowing why.
- Fresh spinach: Baby spinach wilts down dramatically, so don't be scared by how much it looks like you're adding—it'll fold into the broth beautifully.
- Fresh parsley: This goes on at the end as garnish and brings a brightness that changes the entire bite, so don't treat it like an afterthought.
Tired of Takeout? 🥡
Get 10 meals you can make faster than delivery arrives. Seriously.
One email. No spam. Unsubscribe anytime.
Instructions
- Start your soffritto base:
- Heat the olive oil in a large soup pot over medium heat, then add your diced onion, carrots, and celery all at once. Let them cook for 6 to 7 minutes, stirring occasionally, until they start to soften and the edges of the vegetables begin to turn translucent and golden.
- Wake up the garlic:
- Stir in your minced garlic and let it cook for just about 1 minute—you want it fragrant and lightly golden, not brown and bitter. This is honestly the best smelling part of cooking this soup.
- Build the broth:
- Add the drained and rinsed cannellini beans, vegetable broth, thyme, rosemary, bay leaf, and red pepper flakes if you're using them. Stir everything together, then bring it up to a simmer and season with salt and pepper to taste.
- Let it simmer and develop:
- Simmer the soup uncovered for about 20 minutes, stirring occasionally, so the flavors have time to meld and the beans start to break down just slightly. This is when the kitchen starts smelling incredible.
- Remove the bay leaf:
- Fish out the bay leaf carefully—it should come off easily, and this little step prevents anyone from accidentally biting into it later.
- Thicken with mashed beans:
- Use a potato masher or the back of a wooden spoon to gently mash some of the beans right in the pot, breaking them down just enough to release their starch and thicken the broth without making it into a purée. You want texture and substance, not baby food.
- Wilt in the spinach:
- Stir in your chopped fresh spinach and let it cook for 2 to 3 minutes until it's completely wilted and that gorgeous bright green color. The spinach adds a slight peppery note that completes the whole picture.
- Taste and adjust:
- Take a spoon and really taste it—you might need a little more salt, pepper, or even a squeeze of lemon juice to brighten everything up depending on your broth.
- Serve with love:
- Ladle the soup into bowls, top with fresh parsley, and offer lemon wedges on the side for anyone who wants to add extra brightness and acidity.
Save to Pinterest There was this one evening when I made this soup and my teenage nephew showed up unexpectedly, claiming he didn't eat vegetables, and then he silently ate three bowls without asking questions. I've never told him there was spinach in there, and honestly, I'm not going to—some victories are better left unexamined.
Making It Your Own
This soup has a beautiful blank canvas quality that lets you make it exactly what you need it to be. I've added diced potatoes for earthiness, thrown in zucchini for summer lightness, and once I even stirred in some diced tomatoes because that's what I had on hand and it turned into something completely different but equally delicious. The beans and herbs are your anchors, but everything else is negotiable.
Texture and Creaminess
If you like your soup thicker and more luxurious feeling, you can blend about a cup of it in a blender and pour it back in—it creates this silky creaminess without any cream, which blew my mind the first time I tried it. Some people go even further and blend half the soup for a completely smooth base with just the spinach and beans creating little pockets of texture. It depends on your mood and whether you want something you can spoon through or something that feels more like a stew.
Serving and Storage Ideas
Crusty bread is the classic move—I like to rub mine with a garlic clove and a little olive oil before toasting it so I have something to dip and soak up every last drop. This soup keeps beautifully in the refrigerator for up to five days and actually tastes better the next day when all the flavors have had time to get to know each other. You can also freeze it in portions, and on those nights when you need food but have zero energy, you've got something warm and nourishing waiting for you.
- Finish each bowl with a generous pinch of fresh parsley and a squeeze of lemon for brightness.
- If you're making this for non-vegans, let them add grated Parmesan cheese on top—it adds a salty, umami punch that changes everything.
- A tiny drizzle of really good olive oil on top of each bowl looks beautiful and tastes like a little luxury moment.
Save to Pinterest This soup has become my answer to almost everything—a rough day, unexpected guests, a friend who's under the weather, or just a Tuesday evening when I want something that feels like care in a bowl. It's proof that you don't need complicated techniques or rare ingredients to make food that nourishes both body and spirit.
Recipe FAQ
- → Can I use dried beans instead of canned?
Yes, dried cannellini beans can be used but require soaking overnight and a longer cooking time to soften before adding to the broth.
- → How can I make the broth richer?
Simmering with fresh herbs like thyme and rosemary enhances depth. Adding a splash of olive oil before serving adds richness without overpowering the flavors.
- → Is it necessary to mash some beans?
Mashing some beans creates a thicker, creamier consistency, adding body to the broth while keeping other beans whole for texture contrast.
- → Can I substitute spinach with other greens?
Yes, kale or Swiss chard work well as alternatives; just adjust cooking time to achieve desired tenderness.
- → What bread pairs best with this dish?
Crusty bread like ciabatta or gluten-free rolls complement the soup's rustic flavors and help soak up the savory broth.
- → How do I adjust the spice level?
Adding or omitting crushed red pepper flakes controls heat. Start small to suit personal taste preferences.