Description
A cozy one-pot Tuscan-style soup where garlic and rosemary bloom in olive oil, cannellini beans add silky body, and a squeeze of lemon brightens it all. Brothy-meets-creamy without dairy, tender ribbons of lacinato kale, and dinner on the table in ~35 minutes. Vegan + gluten-free and great for meal prep.
Ingredients
2 tbsp extra-virgin olive oil
1 medium yellow onion, finely diced
2 medium carrots, diced small
2 celery stalks, diced small
4 cloves garlic, minced
1 tsp finely chopped fresh rosemary (or ½ tsp dried)
½ tsp dried oregano
¼ tsp red pepper flakes (optional)
5 cups low-sodium vegetable broth
2 (15-oz) cans cannellini beans, drained and rinsed
1 cup crushed tomatoes (optional, for a rosier broth)
1 bay leaf
1 tsp kosher salt, plus more to taste
Black pepper, to taste
4 packed cups chopped lacinato kale, ribs removed
1 tbsp lemon juice, plus more to taste
1–2 tbsp extra-virgin olive oil, for finishing
Instructions
Warm the pot (1–2 min): Heat 2 tbsp oil over medium until shimmering.
Build the base (5–6 min): Add onion, carrot, celery + pinch of salt. Cook until onions are translucent and glossy.
Bloom flavor (45 sec): Stir in garlic, rosemary, oregano, and red pepper flakes; cook just until fragrant.
Deglaze (30 sec): Pour in ~1 cup broth; scrape up browned bits.
Add beans & liquids (1–2 min): Add beans, remaining broth, crushed tomatoes (if using), bay leaf, and ½ tsp salt. Bring to a gentle boil.
Simmer (10–12 min): Reduce to medium-low; let small bubbles lazily break the surface.
Mash for creaminess (30–60 sec): Mash 1–2 cups of beans in the pot to lightly thicken.
Add kale (3–5 min): Stir in kale; cook until deep green and just tender.
Finish & balance (1–2 min): Remove bay leaf. Stir in lemon juice and a drizzle of olive oil. Adjust salt, pepper, and lemon to taste.
Rest (2–3 min): Let flavors settle before serving.
Doneness cues: Kale tender but green; broth lightly thickened; veg fork-tender, not mushy.
Notes
Swaps: Chickpeas for beans; Swiss chard or spinach (add spinach in last minute); add ½ cup small pasta or diced potatoes and cook until just tender.
Flavor control: Salt in stages; finish with lemon for brightness.
Make-ahead: Keeps 3–4 days refrigerated; freezes up to 3 months (omit pasta/potatoes before freezing).
Pro tip: Use low-sodium broth so you can season perfectly at the end.
Texture: Mash more beans for thicker body; simmer uncovered briefly if too thin.
- Prep Time: 10 minutes
- Cook Time: 25 minutes
- Category: soup recipes
- Method: One-pot stovetop
- Cuisine: Tuscan/Italian-inspired
