Hearty Winter Vegetable and White Bean Soup Recipe

Root vegetables and a parmesan rind simmered low and slow build a savory base without needing meat, and mashing a portion of the beans into the broth thickens the soup naturally so it eats like a meal, not a starter.
- Prep
- 20 min
- Cook
- 45 min
- Total
- 65 min
- Servings
- 6
Ingredients
- 3 tablespoons olive oil
- 1 large yellow onion, diced
- 3 medium carrots, sliced
- 3 stalks celery, sliced
- 4 cloves garlic, minced
- 2 medium yukon gold potatoes, diced
- 2 15-oz cans cannellini beans, drained and rinsed
- 6 cups vegetable broth
- 1 piece (about 2 oz) parmesan rind
- 4 cups kale, stems removed and chopped
- 1 teaspoon dried thyme
- 1 leaf bay leaf
- 1/2 cup grated parmesan, for serving
Nutrition per serving
- Calories
- 311
- Protein
- 16g
- Carbs
- 39g
- Fat
- 11g
Based on the recipe as written, one serving. Recalculates if you swap an ingredient above. An estimate only, exact values depend on the specific ingredients used.
Need different units or a different yield? Try our Conversion Calculator →
Instructions
- 1Heat the olive oil in a large Dutch oven or heavy soup pot over medium heat. Add the onion, carrots, and celery, and cook for 7-8 minutes, stirring occasionally, until the onion turns translucent.
- 2Stir in the garlic and cook for 1 minute, until fragrant but not browned.
- 3Add the diced potatoes, one can of beans, the broth, parmesan rind, thyme, and bay leaf. Bring to a boil, then reduce the heat and simmer uncovered for 20-25 minutes, until the potatoes are fork-tender.
- 4Meanwhile, in a small bowl, mash the second can of beans with a fork until mostly broken down, leaving some texture.
- 5Remove the bay leaf and parmesan rind from the pot. Stir in the mashed beans to thicken the broth, then add the kale and simmer for 5 more minutes, until wilted and tender.
- 6Taste and season with salt and black pepper, keeping in mind the parmesan rind already adds salt. Ladle into bowls and top with grated parmesan.
Tips & variations
- No parmesan rind on hand? Save one in the freezer next time a wedge is finished, or skip it and stir in an extra 2 tablespoons of grated parmesan at the end instead.
- Swap the kale for chopped Swiss chard or spinach; add spinach in the last 2 minutes since it wilts much faster than kale.
- For a smokier, heartier version, render 4 ounces of diced pancetta or bacon in the pot before adding the onion, and use the rendered fat in place of some of the olive oil.
- Diced sweet potato or butternut squash can replace half the yukon golds for extra sweetness and color.
Storage & reheating
Cool completely and refrigerate in an airtight container for up to 5 days. The soup thickens considerably as it chills, so add a splash of broth or water when reheating on the stovetop over medium-low heat. Freezes well for up to 3 months; thaw overnight in the fridge before reheating.
Tips from the Tulo kitchen
- Dice the potatoes and carrots to roughly the same size so they finish cooking at the same time.
- If the broth reduces too much during the simmer, thin it with an extra splash of broth or water rather than letting the soup scorch on the bottom.
FAQ
What makes this soup filling enough for a main course?
The combination of mashed and whole cannellini beans plus diced potatoes provides enough starch and protein per serving to stand in for a meal, unlike broth-based soups that need a side to feel complete.
Can I make this soup vegan?
Yes. Skip the parmesan rind and use nutritional yeast or an extra pinch of salt to replace the savory depth it adds, and top with vegan parmesan or omit the topping entirely.
Can I use dried beans instead of canned?
Yes. Cook about 1.5 cups of dried cannellini beans separately until tender (roughly 45-60 minutes at a simmer after soaking) and use them in place of both cans, reserving some of their cooking liquid to mash in place of one can.
Why add the beans in two different forms?
Whole beans keep the soup's texture chunky and satisfying, while the mashed beans dissolve into the broth and thicken it without cream or a flour slurry.


