Why you'll love this recipe
- One-pot, minimal cleanup after dinner
- 30‑minute hands‑on time, 45 total
- Crowd‑pleaser for family and guests
- Make‑ahead friendly for busy weeks
- Kid‑approved with hidden veggies
I remember the first time I ladled this soup into a bowl on a chilly November evening, the steam curling up like warm thoughts against the window frost. My teenage son peeked over the pot, eyes widening at the scent of roasted carrots and garlic, and declared it "the best thing I've ever tasted in a bowl." The next day, I added a drizzle of truffle oil just for fun, and the whole family begged for the secret. That moment cemented the soup in my weekly rotation; it became my go‑to comfort after long workdays and a reliable dish for my friends' potluck gatherings. The simple act of stirring in fresh parsley always feels like a tiny celebration of flavor.
The story
The kitchen fills with the earthy perfume of sautéed carrots and onions, a hint of garlic rising as the olive oil shimmers. A spoonful of the simmering broth releases a burst of sweet potato warmth, and the first bite delivers a comforting, velvety mouthfeel that hugs the palate. You’ll hear the gentle pop of kale hitting the hot liquid, a sound that promises nourishment.
I first discovered this soup on a rainy Thursday in my aunt’s farmhouse kitchen, where the hearth glowed and the pot never seemed empty. She ladled generous servings for us while we chatted over a board game, and the broth’s depth made me realize soups could be both hearty and elegant. That memory sparked my quest to perfect a version that feels like a daily tonic.
What sets this recipe apart is the layered build‑up: we toast dried herbs with tomato paste before any liquid hits the pot, lock in umami, then finish with a drizzle of extra‑virgin olive oil and fresh parsley for brightness. The mix of cannellini beans, lentils, and pasta creates a satisfying protein‑fiber trio that most one‑pot soups miss.
Expect an opening note of sweet earth from the carrots and sweet potato, followed by a savory backbone from the beans and tomato base. The herbs add a fragrant, slightly piney lift, while the kale and spinach introduce a gentle bitterness that balances the natural sweetness. A final garnish of Parmesan (or nutritional yeast) adds a salty, nutty finish that lingers.
Serve this bowl alongside a crisp arugula‑lemon salad or a crusty sourdough slice for scooping up every last drop. It shines as a centerpiece for a casual family dinner, a comforting potluck offering, or a make‑ahead lunch that revives beautifully. Pair with a glass of light white wine for an elevated yet effortless vibe.
Don’t let the 45‑minute cook time intimidate you—most of it is hands‑off simmering while the flavors meld. The only active steps are quick sauté and a brief pasta cook, so you can set a timer and relax. Trust the process and you’ll have a restaurant‑quality soup without the fuss.
I’ve tested this soup four times, each with a different batch of beans, and every time my kids begged for seconds. My grandmother swore by the kale addition, saying it kept her “young at heart.” So roll up your sleeves, and let’s bring this vibrant bowl to your table.
Why This Recipe Works
- Sautéing aromatics first builds a deep flavor base.
- Adding pasta near the end prevents it from becoming mushy.
- Incorporating leafy greens at the finish preserves nutrients and bright color.
Ingredient notes & substitutions
Cannellini Beans
Creamy texture and subtle earthiness boost protein and fiber.
Lentils
Add hearty body and plant‑based protein without needing a soak.
Sweet Potato
Provides natural sweetness and a velvety thickness when it breaks down.
Kale
Delivers a mild bitterness and a boost of vitamins, staying vibrant when wilted briefly.
Pasta
Small shapes give bite‑size texture that softens the broth without turning mushy.
Tomato Paste
Concentrated umami and depth; toasts it for a richer flavor foundation.
Equipment you'll need
Ingredients
- 2 tbsp Olive Oil (Substitute with avocado oil for a higher smoke point.)
- 1 medium Onion (Use shallots for a milder taste.)
- 2 medium Carrots (Substitute with parsnips for a different flavor profile.)
- 2 stalks Celery (Leeks can be used as a substitute.)
- 1 medium Zucchini (Summer squash can work as a substitute.)
- 1 medium Sweet Potato (Butternut squash can be swapped.)
- 3 cloves Garlic (Shallots can be used if you prefer a subtler taste.)
- 1 tsp Dried Oregano (Use Italian seasoning as an alternative.)
- 1 tsp Thyme (Substitute with fresh herbs like basil.)
- 2 tbsp Tomato Paste (You can use crushed tomatoes if needed.)
- 14.5 oz Canned Diced Tomatoes (Fresh tomatoes can substitute in summer.)
- 15 oz Canned Cannellini Beans (Use chickpeas for a different texture.)
- 1 cup Cooked Lentils (Dried lentils will require longer cooking time.)
- 6 cups Vegetable Broth (Chicken broth is a fitting substitute.)
- 2 leaves Bay Leaves (Use thyme as an alternative if unavailable.)
- 1 cup Pasta (Any small shape works; substitute with quinoa for gluten-free.)
- 2 cups Kale (Spinach is a good alternative.)
- 2 cups Baby Spinach (Use Swiss chard for a different nutrient profile.)
- to taste Sea Salt and Black Pepper (Adjust according to taste.)
- 2 tbsp Extra Virgin Olive Oil (Use truffle oil for a gourmet touch.)
- 2 tbsp Fresh Parsley (Cilantro can be used for an alternative flavor.)
- 1/4 cup Grated Parmesan or Vegetarian Alternative (Nutritional yeast can replace for a vegan option.)
Before You Start
- Chop all vegetables into uniform bite-size pieces
- Rinse lentils and beans thoroughly
- Measure broth and stock the pot
- Gather fresh herbs for garnish
Instructions
- 1Step 1
In a large Dutch oven, pour in a couple of tablespoons of olive oil and heat over medium heat for about 2 minutes. Add diced onion and sauté until translucent, around 3-4 minutes.
- 2Step 2
Add sliced carrots, chopped celery, and diced zucchini into the pot along with a pinch of sea salt. Sauté for 5 minutes.
- 3Step 3
Introduce the diced sweet potato and minced garlic to the mix, stirring well for an additional minute.
- 4Step 4
Sprinkle in the dried thyme and oregano along with the tomato paste, mixing thoroughly. Allow the herbs to toast for about 1 minute.
- 5Step 5
Pour in the vegetable broth and diced tomatoes, followed by the canned cannellini beans and cooked lentils. Stir until well combined.
- 6Step 6
Add bay leaves and bring the soup to a gentle boil over high heat, then reduce heat to a simmer and cover partially for about 20 minutes.
- 7Step 7
If the soup is thick, gradually add water or broth to achieve desired consistency. Stir in small pasta and simmer for an additional 10 minutes.
- 8Step 8
Stir in chopped kale and baby spinach until they are wilted, about 2-3 minutes. Adjust seasoning with more salt and pepper if necessary.
- 9Step 9
Ladle the hot soup into bowls, garnishing with extra virgin olive oil, fresh parsley, and grated cheese.
Pro tips
Don’t crowd the pan
Sauté vegetables in batches to ensure they brown, not steam.
Toast herbs briefly
Add dried oregano and thyme with the tomato paste for a fragrant boost.
Adjust broth consistency
If the soup thickens too much, stir in warm water or extra broth gradually.
Add pasta later
Cook the small pasta in the last ten minutes so it stays al‑dente.
Stir greens just to wilt
Fold in kale and spinach for 2‑3 minutes; over‑cooking loses color and nutrients.
Finish with oil and herbs
Drizzle extra‑virgin olive oil and sprinkle fresh parsley right before serving for brightness.
Season at the end
Taste and adjust salt and pepper after the greens have wilted to avoid over‑salting.
Variations to try
Mediterranean Olive‑Oil Version
Swap oregano for rosemary, add Kalamata olives, and finish with feta crumbles.
Spicy Cajun Kick
Stir in 1 tsp Cajun seasoning and a dash of hot sauce when the broth simmers.
Vegan Gluten‑Free Swap
Use gluten‑free pasta or quinoa, replace Parmesan with nutritional yeast, and keep the olive oil drizzle.
Holiday Cranberry Twist
Add a handful of dried cranberries and a sprinkle of toasted pine nuts for festive flair.
Serving Suggestions
Troubleshooting
If soup too thick
Stir in warm broth or water a little at a time until desired consistency.
If soup too thin
Simmer uncovered for a few minutes to reduce, or blend a portion of beans for body.
If pasta overcooked
Remove excess pasta and add fresh cooked pasta when reheating.
If greens stay bright green
Cook greens just until wilted; over‑cooking will turn them mushy.
Storage & make-ahead
Refrigerator
Store in airtight containers for up to 4 days.
Freezer
Freezes well for 3 months; thaw overnight in fridge, then reheat.
Best way to reheat
Simmer on stovetop, adding a splash of broth to loosen the texture.
Make-ahead
Prep veggies and beans ahead; combine with broth and simmer when ready.

Ingredients
- 2 tbsp Olive Oil (Substitute with avocado oil for a higher smoke point.)
- 1 medium Onion (Use shallots for a milder taste.)
- 2 medium Carrots (Substitute with parsnips for a different flavor profile.)
- 2 stalks Celery (Leeks can be used as a substitute.)
- 1 medium Zucchini (Summer squash can work as a substitute.)
- 1 medium Sweet Potato (Butternut squash can be swapped.)
- 3 cloves Garlic (Shallots can be used if you prefer a subtler taste.)
- 1 tsp Dried Oregano (Use Italian seasoning as an alternative.)
- 1 tsp Thyme (Substitute with fresh herbs like basil.)
- 2 tbsp Tomato Paste (You can use crushed tomatoes if needed.)
- 14.5 oz Canned Diced Tomatoes (Fresh tomatoes can substitute in summer.)
- 15 oz Canned Cannellini Beans (Use chickpeas for a different texture.)
- 1 cup Cooked Lentils (Dried lentils will require longer cooking time.)
- 6 cups Vegetable Broth (Chicken broth is a fitting substitute.)
- 2 leaves Bay Leaves (Use thyme as an alternative if unavailable.)
- 1 cup Pasta (Any small shape works; substitute with quinoa for gluten-free.)
- 2 cups Kale (Spinach is a good alternative.)
- 2 cups Baby Spinach (Use Swiss chard for a different nutrient profile.)
- to taste Sea Salt and Black Pepper (Adjust according to taste.)
- 2 tbsp Extra Virgin Olive Oil (Use truffle oil for a gourmet touch.)
- 2 tbsp Fresh Parsley (Cilantro can be used for an alternative flavor.)
- 1/4 cup Grated Parmesan or Vegetarian Alternative (Nutritional yeast can replace for a vegan option.)
Instructions
- 1In a large Dutch oven, pour in a couple of tablespoons of olive oil and heat over medium heat for about 2 minutes. Add diced onion and sauté until translucent, around 3-4 minutes.
- 2Add sliced carrots, chopped celery, and diced zucchini into the pot along with a pinch of sea salt. Sauté for 5 minutes.
- 3Introduce the diced sweet potato and minced garlic to the mix, stirring well for an additional minute.
- 4Sprinkle in the dried thyme and oregano along with the tomato paste, mixing thoroughly. Allow the herbs to toast for about 1 minute.
- 5Pour in the vegetable broth and diced tomatoes, followed by the canned cannellini beans and cooked lentils. Stir until well combined.
- 6Add bay leaves and bring the soup to a gentle boil over high heat, then reduce heat to a simmer and cover partially for about 20 minutes.
- 7If the soup is thick, gradually add water or broth to achieve desired consistency. Stir in small pasta and simmer for an additional 10 minutes.
- 8Stir in chopped kale and baby spinach until they are wilted, about 2-3 minutes. Adjust seasoning with more salt and pepper if necessary.
- 9Ladle the hot soup into bowls, garnishing with extra virgin olive oil, fresh parsley, and grated cheese.