This is the Tuscan-style one-pot dinner that turns three cans of beans into a restaurant bowl. Cannellini beans simmered with fresh rosemary, lots of garlic, good olive oil, and a final handful of spinach — then half the pot blended smooth so it gets creamy without any dairy at all. Twenty-five minutes of work, thirty-five minutes total.
Fun fact: this soup belongs to the Tuscan family of bean-and-bread peasant cooking — the same lineage as ribollita and pasta e fagioli. White beans were a winter staple for farmers in Tuscany because they grow well in poor soil and store all year. Olive oil and rosemary turned a survival meal into one of Italy’s most copied comfort dishes.
Why this recipe works
HALF-BLEND TECHNIQUE. Pureeing half the beans gives the soup body and a silky mouthfeel; leaving the rest whole keeps texture. No cream needed.
BLOOM ROSEMARY IN OIL. Frying the rosemary sprigs in the hot olive oil for 60 seconds before anything else releases the piney oils and perfumes the whole pot.
USE THE BEAN LIQUID. Don’t drain those cans — the starchy bean liquid is what gives the broth its body. Rinse-and-drain ruins this soup.
Ingredients
Serves 4.
Base:
1/4 cup good extra-virgin olive oil
2 sprigs fresh rosemary
6 cloves garlic, smashed and roughly chopped
1 small yellow onion, diced
1 tsp red pepper flakes
Beans + broth:
3 (15 oz) cans cannellini beans, NOT drained
4 cups vegetable or chicken broth
1 parmesan rind (optional but recommended)
1 tsp salt + 1/2 tsp black pepper
Finish:
3 cups baby spinach (or kale, stems removed)
Juice of 1/2 lemon
Flaky salt + extra olive oil for serving
Crusty bread for dunking
Instructions
Step 1: Bloom the rosemary
In a large heavy pot or Dutch oven, heat the olive oil over medium-low. Add the rosemary sprigs whole and let them sizzle gently for 60 seconds — the oil should smell strongly of pine. Don’t let the rosemary darken past golden.
Step 2: Build the base
Add the chopped garlic, onion, and red pepper flakes. Stir for 3-4 minutes until the onion is translucent and the garlic is fragrant but NOT browned. Browned garlic turns bitter.
Step 3: Add beans and broth
Pour in all 3 cans of beans WITH their liquid. Add the broth, parmesan rind if using, salt, and pepper. Bring to a low simmer.
Step 4: Simmer and half-blend
Cover and simmer 15 minutes — the broth should thicken slightly and taste rounded. Remove rosemary sprigs and parmesan rind. Use an immersion blender to puree about HALF the soup (or scoop 2 cups out, blend in a blender, return).
Step 5: Wilt the greens
Stir in the spinach and let it wilt off the heat for 2 minutes. Squeeze in the lemon juice. Taste — it almost always needs another pinch of salt at this stage.
Step 6: Serve
Ladle into bowls. Drizzle each bowl with another teaspoon of olive oil, flaky salt, cracked pepper, and a small rosemary sprig on top. Crusty bread is required.
Nutrition information
Calories: 340 kcal per serving
Protein: 16 g
Carbohydrates: 42 g
Fiber: 12 g
Fat: 14 g
Iron: 28% DV
Pro tips for the best rosemary garlic white bean soup
Use the BEST olive oil you have. There are 5 ingredients carrying the flavor; cheap oil tastes like cheap soup. Save the good stuff for finishing.
PARMESAN RIND magic. If you’ve been throwing them away, stop. Freeze ends of parmesan and toss one in any brothy dish — adds umami no other ingredient gives.
Want it heartier? Add a chopped link of Italian sausage when you cook the garlic. Brown it before the onion goes in.
Make it ribollita. Day-two leftovers: tear stale crusty bread into chunks, stir into reheated soup, let sit 5 min. Now it’s ribollita.
Frequently asked questions
Can I use dried beans?
Yes — soak 1.5 cups dried cannellini overnight, simmer 60-90 min in broth until tender. Then proceed from step 4. Total time becomes ~2.5 hours but result is even creamier.
Is it freezer-friendly?
Yes — cool fully, freeze in portions up to 3 months. Texture stays great. Re-warm slowly and add a splash of broth if too thick.
Can I make it vegan?
Already vegan if you skip the parmesan rind. Use vegetable broth. Add 1 tbsp nutritional yeast for the umami the cheese would have provided.
My soup is bland — what went wrong?
Probably under-salted or you drained the beans. Bean liquid is essential. Add salt 1/4 tsp at a time, then a squeeze more lemon. Adjust until each spoonful makes you want another.
Can I add pasta?
Yes — for pasta e fagioli style, add 1 cup small pasta (ditalini) during the last 10 min of simmer. Add extra broth as needed.
Leave a Reply