Love this? Pin it for later!
Why This Recipe Works
- Velvety texture, zero dairy: A quick purée of half the beans delivers creaminess without heavy cream.
- Layered citrus: Both zest and juice go in at different stages so the bright notes evolve rather than fade.
- Week-night speed: Start to finish in 35 minutes using mostly pantry staples.
- One-pot clean-up: Everything happens in a single Dutch oven.
- Plant-powered protein: Two cans of white beans provide nearly 18 g protein per serving.
- Freezer-friendly: Doubles beautifully and thaws like a dream on busy Tuesdays.
- Color that pops: Emerald spinach and coral tomatoes make dinner feel like spring even in February.
Ingredients You'll Need
Great soup begins with great building blocks, but that doesn’t mean you need anything fancy. Think of this as a clean-out-the-fridge recipe that rewards good staples.
Olive oil: Use the extra-virgin bottle you save for finishing, not the neutral one for frying. A peppery, grassy oil will echo the herbs and balance the citrus. If you only have a mild oil, add a pinch of crushed red-pepper flakes for bite.
Shallots: Sweeter and more nuanced than yellow onion, they melt into silky threads that disappear into the broth. No shallots? Substitute half a small leek or two trimmed scallions. Avoid red onion—it turns the soup an unfortunate shade.
Garlic: Fresh only, please. Smash the cloves with the flat of a knife so they stay in chunky pieces that won’t burn while you sauté.
Tomato paste: A teaspoon or two gives the beans a sun-dried depth. Buy it in a metal tube; it lasts months in the fridge door and saves you from opening an entire can.
White beans: I reach for cannellini (creamy) or great Northern (slightly nutty). If you cook beans from dried, measure out 3 ½ cups; otherwise, two 15-oz cans are perfect. Look for BPA-free tins and always rinse to remove 40 % of the sodium.
Vegetable broth: Choose a low-sodium, roasted-vegetable stock for complexity. Chicken broth is fine if you’re not vegetarian. Water plus a bouillon cube works in a pinch—just salt lightly at the end.
Fresh thyme & rosemary: Woody herbs stand up to simmering better than delicate basil or cilantro. Strip leaves by pulling the stem through pinched fingers; chop the rosemary very fine so no one bites into a pine-needle shard.
Spinach: Baby spinach wilts instantly and needs no stemming. If you have mature curly spinach, fold each leaf in half and slice away the stalk. Substitute baby kale, arugula, or even beet greens—just remember tougher greens need an extra minute.
Citrus: Organic lemons and oranges are worth the splurge since you’re eating the zest. A microplane turns peel into airy snow that perfumes the soup without bitter pith. Blood orange in winter adds dramatic burgundy flecks.
Parmesan rind (optional): Keep a zip-top bag of rinds in the freezer. Dropped into simmering beans, they release umami that mimics a long-cooked broth. Remove before blending.
How to Make Warm Spinach and White Bean Soup with Citrus Zest and Herbs
Warm the base
Set a medium Dutch oven over medium-low heat. Add 3 Tbsp olive oil, the minced shallots, and a pinch of kosher salt. Sweat—do not brown—until the shallots look like translucent jam, about 6 minutes. Stir in garlic for 30 seconds; when the aroma climbs, scoot everything to the perimeter and blob the tomato paste in the center. Let it toast for 60 seconds so the sugars caramelize, then fold together.
Bloom the herbs
Strip thyme leaves and minced rosemary directly into the pot. The moment the herbs hit warm fat they release chlorophyll and essential oils—your kitchen will smell like a hillside in Provence. Stir constantly for 45 seconds; color should stay vibrant green.
Add beans & broth
Pour in one can of drained beans plus the entire contents (aquafaba and all) of the second can. This starchy liquid acts as a natural thickener once blended. Add 3 ½ cups broth and the Parmesan rind if using. Bring to a gentle simmer, reduce heat to low, partially cover, and let flavors mingle 12 minutes.
Create silkiness
Fish out the rind. Using an immersion blender, purée about half the soup right in the pot. Tilt the blender so you leave pleasant whole beans for texture—think hearty, not baby food. No immersion blender? Ladle 2 cups into a countertop blender, remove the center cap, cover with a tea towel, and blend starting on low.
Season smartly
Taste. Beans vary in salt; broths vary in sodium. Add ½ tsp kosher salt and several grinds of black pepper. Remember you’ll reduce citrus next, which heightens perception of salt, so under-season slightly for now.
Brighten with zest
Turn heat to the lowest setting. Stir in lemon and orange zest plus 1 tsp lemon juice. The warmth will bloom the citrus oils without boiling away perfume.
Wilt spinach
Pack spinach on top, cover, and let steam 60–90 seconds. Fold into the soup; the leaves will go emerald and glossy. If using baby kale, give it 2–3 minutes.
Finish & serve
Off heat, swirl in remaining 1 Tbsp olive oil for gloss. Ladle into warm shallow bowls. Garnish with a tuft of micro-planed zest, a drizzle of your best oil, and crusty sourdough for swiping.
Expert Tips
Low-simmer equals clear flavors
A rolling boil knocks the delicate citrus notes out of whack. If the soup bubbles too vigorously, slide the pot halfway off the burner.
Double the zest, freeze half
Citrus zest freezes brilliantly. Micro-plane entire fruits, spread on parchment, freeze, then scoop into jars so you always have bright garnish.
Bean liquid gold
Save aquafaba for vegan mayo or meringues. If your beans are unsalted, the starchy liquid seasons the broth without extra salt.
Spinach stems
Tender baby-stem tops are fine to leave; thicker ribs from mature spinach can be fibrous. Chop and sauté with shallots if you hate waste.
Crouton cheat
Cube stale bread, toss with oil, garlic powder, and bake 10 min at 400 °F while soup simmers. Instant crunch without a store run.
Salt in stages
Taste after blending, after citrus, and after spinach. Each addition changes perception; salting gradually prevents over-seasoning.
Variations to Try
-
Creamy Tuscan twist
Swap spinach for chopped kale and stir in ¼ cup grated Parmesan plus 3 Tbsp half-and-half at the end.
-
Spicy Moroccan
Add ½ tsp each cumin and coriander with the tomato paste, finish with harissa drizzle instead of olive oil.
-
Spring minestrone
Toss in ½ cup diced carrots and celery with shallots, add ⅓ cup orzo during simmer, fold in peas instead of spinach.
-
Smoky Spanish
Use pinto beans, smoked paprika, and finish with chopped roasted red peppers and manchego shavings.
-
Coconut-ginger glow
Replace 1 cup broth with full-fat coconut milk, add 1 tsp grated ginger with garlic, finish with lime zest.
Storage Tips
Refrigerator: Cool soup completely, transfer to glass jars, and refrigerate up to 4 days. The flavors meld beautifully; just know spinach will dull slightly. Reheat gently with a splash of water or broth—microwave at 70 % power or stovetop over medium-low.
Freezer: Freeze before adding spinach for best color. Ladle soup into quart zip-top bags, press out air, lay flat to freeze (saves space). Keeps 3 months. Thaw overnight in fridge, then bring to a simmer and wilt fresh spinach just before serving.
Make-ahead lunch jars: Divide beans and broth base among four 16-oz jars (no spinach). Freeze. Morning of, move a jar to fridge; by lunch it’s thawed enough to slide into a saucepan, heat, and toss in spinach.
Revive leftovers: If soup thickens, thin with broth or better yet, a scoop of hot water and a drizzle of olive oil to re-emulsify. A squeeze of fresh lemon wakes everything up.
Frequently Asked Questions
Warm Spinach and White Bean Soup with Citrus Zest and Herbs
Ingredients
Instructions
- Build aromatics: Heat 2 Tbsp olive oil in Dutch oven over medium-low. Add shallots and a pinch of salt; sweat 6 min until translucent. Stir in garlic 30 sec. Push to edges, add tomato paste center; toast 1 min, then mix.
- Bloom herbs: Stir in rosemary and thyme 45 sec until fragrant.
- Simmer beans: Add one can drained beans plus entire contents of second can, broth, Parmesan rind, 1 ½ tsp salt, and pepper. Bring to gentle simmer; cook partially covered 12 min.
- Blend half: Remove rind. Blend half the soup with immersion blender, leaving texture.
- Brighten: Stir in citrus zests and lemon juice.
- Add greens: Pile spinach on top, cover 60–90 sec, then fold until wilted.
- Finish: Off heat, swirl in remaining 1 Tbsp olive oil. Taste, adjust salt. Serve hot with extra zest and crusty bread.
Recipe Notes
For ultra-creamy texture without dairy, purée a full can of beans with 1 cup broth before step 3, then proceed. Soup thickens as it sits—thin with hot water when reheating.