This Tuscan white bean soup is everything I want in a cozy, one-pot meal—simple, hearty, plant-based, and loaded with flavor. I combine creamy cannellini beans, tender vegetables, earthy herbs, and a touch of white wine to create a soup that’s both comforting and wholesome. It’s naturally vegan and gluten-free, making it perfect for sharing with everyone.
Why You’ll Love This Recipe
- Easy to make with minimal cleanup
- Packed with plant-based protein and fiber
- Cozy and flavorful with Tuscan-inspired herbs
- Meal prep and freezer friendly
- Naturally gluten-free and vegan
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
- cannellini beans
- yellow onion
- garlic
- olive oil
- carrots
- celery
- white wine (I use Pinot Grigio)
- vegetable broth
- tomato paste
- chopped kale
- salt
- black pepper
- red pepper flakes (optional)
- Italian seasoning
- dried thyme
- dried oregano
- bay leaves
Directions
Step 1: Sauté the Aromatics
I start by heating olive oil in a large pot or Dutch oven over medium heat. I add chopped onion and sauté until it begins to brown. Then I stir in the garlic, carrots, and celery and let everything soften and lightly brown—this step builds a ton of flavor.
Step 2: Deglaze with Wine
I pour in the white wine and cook it down until most of the liquid has evaporated. This really lifts all the tasty bits off the bottom of the pot.
Step 3: Build the Soup
Next, I add the drained cannellini beans, tomato paste, seasonings, and vegetable broth (starting with 2½ cups). I give it a good stir, bring it to a boil, then reduce the heat and simmer, covered, for 15 minutes.
Step 4: Blend for Creaminess
After simmering, I remove the bay leaves and blend about 2½ to 3 cups of the soup until smooth, then pour it back into the pot. This makes the soup creamy without needing any dairy.
Step 5: Add the Kale
I stir in the chopped kale and simmer for a few more minutes until it wilts. I finish with extra salt, pepper, and a squeeze of lemon juice to brighten it up.
Step 6: Serve
I ladle the soup into bowls and enjoy it warm, either on its own or with some rustic gluten-free bread on the side.
Servings and Timing
Yield: 6 servings
Prep Time: 20 minutes
Cook Time: 30 minutes
Total Time: 50 minutes
Variations
- Use Great Northern or navy beans if I don’t have cannellini on hand
- Swap kale with baby spinach or Swiss chard
- Add diced potatoes or zucchini for extra texture
- Use rosemary or basil in place of thyme and oregano for a different flavor profile
Storage/Reheating
- I store leftovers in an airtight container in the fridge for up to 5 days
- To freeze, I let the soup cool completely and portion it into freezer-safe containers—it’s good for up to 2 months
- For reheating, I thaw it overnight in the fridge and warm it gently on the stovetop, adding more broth if needed
FAQs
Can I skip the wine?
Yes, I can leave it out if preferred. It adds great flavor, but the soup is still delicious without it.
What kind of beans can I use instead of cannellini?
I often use Great Northern, navy, or even butter beans when I want a change. Any creamy white bean works.
Can I make this soup thicker or thinner?
Absolutely. I control the consistency by adjusting the amount of broth. I start with less and add more as needed.
Is this recipe good for meal prep?
Definitely. I make a big batch, portion it out, and keep some in the fridge and some in the freezer. It reheats really well.
How do I keep the kale from getting too soggy?
I add it at the end and only let it simmer for a few minutes—just long enough to wilt without overcooking.
Conclusion
This Tuscan white bean soup has become one of my go-to fall and winter recipes. It’s the kind of meal that feels nurturing but never heavy, and it’s incredibly easy to make with ingredients I usually already have. Whether I’m cooking for the week or craving something cozy on a weeknight, this soup always delivers.
PrintTuscan White Bean Soup
Tuscan White Bean Soup is a hearty, one-pot vegan meal made with cannellini beans, vegetables, herbs, and a splash of white wine. Creamy, cozy, and naturally gluten-free, this nourishing soup is packed with plant-based protein and fiber. It’s perfect for meal prep, freezer-friendly, and easy to make in under an hour—comfort food at its healthiest.
- Prep Time: 20 minutes
- Cook Time: 30 minutes
- Total Time: 50 minutes
- Yield: 6 servings
- Category: Soup, Main Course
- Method: Stovetop
- Cuisine: Italian-Inspired
- Diet: Vegan
Ingredients
- 2 cans (15 oz each) cannellini beans, drained and rinsed
- 2 tbsp olive oil
- 1 yellow onion, chopped
- 4 cloves garlic, minced
- 2 carrots, diced
- 2 celery stalks, diced
- 1/2 cup white wine (Pinot Grigio or dry white wine)
- 2 tbsp tomato paste
- 2½–3 cups vegetable broth
- 2 cups chopped kale
- Salt, to taste
- Black pepper, to taste
- 1/4 tsp red pepper flakes (optional)
- 1 tsp Italian seasoning
- 1/2 tsp dried thyme
- 1/2 tsp dried oregano
- 2 bay leaves
Instructions
- In a large pot or Dutch oven, heat olive oil over medium heat. Add onion and cook until golden.
- Stir in garlic, carrots, and celery. Sauté until softened and lightly browned, about 5–7 minutes.
- Pour in white wine and cook until mostly evaporated, scraping up any browned bits from the bottom of the pot.
- Add beans, tomato paste, vegetable broth, herbs, salt, pepper, and bay leaves. Bring to a boil, then reduce heat, cover, and simmer for 15 minutes.
- Remove bay leaves. Transfer 2½–3 cups of soup to a blender and blend until smooth. Return to the pot and stir to combine.
- Stir in chopped kale and simmer another 3–5 minutes, until wilted. Adjust salt and optionally finish with a splash of lemon juice.
- Serve hot with rustic or gluten-free bread.
Notes
- Bean alternatives: Great Northern, navy, or butter beans.
- Greens swap: Use spinach or Swiss chard in place of kale.
- Add-ins: Try potatoes, zucchini, or different herbs like rosemary or basil.
- No wine? Skip or replace with more broth.
- Texture: Adjust broth amount for thicker or thinner soup.
Nutrition
- Serving Size: 1 bowl
- Calories: 230
- Sugar: 5g
- Sodium: 460mg
- Fat: 7g
- Saturated Fat: 1g
- Unsaturated Fat: 6g
- Trans Fat: 0g
- Carbohydrates: 29g
- Fiber: 9g
- Protein: 10g
- Cholesterol: 0mg