Step 1: Sauté the Base
Heat olive oil in a large pot over medium heat.
Add onion, carrots, and celery.
Cook 6–8 minutes until soft and fragrant.
Add garlic and cook 30 seconds.
Step 2: Build the Soup
Add beans, broth, thyme, rosemary, bay leaf, salt, and pepper.
Bring to a gentle boil, then reduce to a simmer.
Step 3: Simmer
Simmer uncovered for 20 minutes to let flavors develop.
Step 4: Make It Creamy (Optional but Classic)
Use an immersion blender to blend ⅓–½ of the soup directly in the pot.
This creates a creamy texture while keeping whole beans.
Step 5: Add Greens
Stir in kale or spinach.
Simmer 3–5 minutes until wilted and tender.
Step 6: Finish & Serve
Remove bay leaf.
Taste and adjust seasoning.
Finish with a drizzle of olive oil, a squeeze of lemon, and Parmesan if desired.
🌟 Pro Tips
- Cannellini beans give the creamiest texture
- For deeper flavor, add a Parmesan rind while simmering
- Want it heartier? Add diced potatoes or Italian sausage
- Soup tastes even better the next day
🍞 Serving Ideas
- With crusty bread or focaccia
- As a light main with a green salad
- Topped with chili flakes for heat