This cozy Tuscan White Bean Soup is one of those meals that feels like a hug in a bowl. It’s simple, rustic, and full of flavor. Perfect for chilly nights or when you just want something hearty but still healthy. It comes together with basic pantry staples, but the flavor is anything but basic.

What You’ll Need
- 2 tablespoons olive oil
- 1 medium onion, diced
- 3 garlic cloves, minced
- 2 medium carrots, thinly sliced into rounds
- 2 celery stalks, chopped
- 1 teaspoon dried thyme
- 1 teaspoon dried oregano
- 1/2 teaspoon crushed red pepper flakes (optional)
- 1 (15 oz) can diced tomatoes
- 3 (15 oz) cans white beans (cannellini), drained and rinsed
- 4 cups vegetable broth
- 1 cup water
- Salt and pepper to taste
- 2 cups fresh spinach, roughly chopped
- 1 tablespoon lemon juice
- Fresh parsley, for garnish (optional)

Why I Love This Recipe
I first made this soup after a trip to Florence, where I had a version of it in a tiny café off a cobblestone alley. It was raining, and the warm bowl they served me was just what I needed. I’ve been tweaking it ever since to get that same comfort in every spoonful.
- You can throw it together with pantry staples
- It’s packed with fiber and plant protein
- Leftovers taste even better the next day
- It freezes beautifully
- It’s naturally gluten-free and vegan
Servings: 4
Cook Time: 35 minutes
Why This Recipe Works (Quick Science)
White beans release a bit of starch when simmered, which naturally thickens the broth and gives the soup a creamy texture without adding cream. The garlic and onion build the flavor base, while tomatoes bring acidity and brightness. Spinach goes in at the end to stay vibrant and tender.
Common Mistakes
- Overcooking the spinach: Add it last so it doesn’t turn mushy.
- Not seasoning in layers: Salt each layer lightly as you go — don’t wait until the end.
- Skipping the lemon: It might seem small, but it brightens the soup and pulls all the flavors together.
- Not rinsing the beans: Canned beans can be salty and slimy; rinse them for a cleaner taste.
What to Serve With
- Crusty sourdough bread or a toasted baguette
- A light green salad with vinaigrette
- Grated Parmesan cheese on the side (if not vegan)
- Roasted veggies or grilled cheese for a heartier meal
FAQ
Can I use dry beans instead of canned?
Yes, just soak and cook them ahead of time. You’ll need about 4 1/2 cups cooked beans.
Is this soup freezer-friendly?
Absolutely. Let it cool completely, then freeze in containers for up to 3 months.
Can I make it in a slow cooker?
Yes! Sauté the aromatics first, then dump everything (except spinach and lemon) into the slow cooker and cook on low for 6-8 hours.
Can I blend this soup?
You can blend half of it for a creamier texture or use an immersion blender to pulse a few times.
Pro Tips
- Use low-sodium broth so you can control the salt
- Add a parmesan rind while simmering for extra depth (if not vegan)
- Double the batch and freeze half
- If you want a thicker soup, mash some of the beans with a fork before adding
- Always finish with a splash of lemon to brighten the whole pot
Tools Needed
- Large soup pot or Dutch oven
- Wooden spoon
- Chef’s knife
- Cutting board
- Measuring cups and spoons
- Can opener
Substitutions and Variations
- Beans: Great Northern or navy beans work too
- Greens: Kale or Swiss chard instead of spinach
- Spice level: Skip the red pepper flakes if you’re sensitive to heat
- Add-ins: Try cooked sausage or shredded rotisserie chicken for more protein
- Broth: Chicken broth if not vegetarian
Make Ahead Tips
- Chop all veggies and refrigerate in airtight containers up to 2 days ahead
- Cook the entire soup (without spinach and lemon) and refrigerate for up to 3 days; reheat and add spinach and lemon before serving
Let’s Make It!
Step 1: Sauté the Aromatics
Heat 2 tablespoons of olive oil in a large over medium heat. Add 1 small diced onion, 3 minced garlic cloves, 2 thinly sliced carrot rounds, and 2 small diced celery stalks. Cook for about 5–7 minutes, stirring occasionally, until the vegetables are softened and the onion is translucent.

Step 2: Add Seasonings
Stir in 1 teaspoon dried thyme, 1 teaspoon dried oregano, and 1/2 teaspoon red pepper flakes (optional). Cook for 1 minute until fragrant.

Step 3: Add Tomatoes and Beans
Pour in 1 (15 oz) can of diced tomatoes and 3 (15 oz) cans of drained and rinsed white beans. Stir everything together to coat the beans and tomatoes with the seasoned veggie base.

Step 4: Add Broth and Simmer
Add 4 cups vegetable broth and 1 cup water. Season with a good pinch of salt and pepper. Bring to a boil, then reduce heat and let simmer for 15–20 minutes.

Step 5: Add Spinach and Lemon
Stir in 2 cups of chopped fresh spinach and 1 tablespoon of lemon juice. Simmer just 2 more minutes until the spinach is wilted.

Step 6: Serve
Ladle the soup into bowls. Sprinkle with fresh chopped parsley and a crack of black pepper if you like.

Leftovers and Storage
- Store in airtight containers in the fridge for up to 4 days
- Freezes well for up to 3 months
- Reheat on the stove or in the microwave until warm
- Add a splash of broth or water if it thickens too much
Macros (Per Serving – based on 4 servings)
- Calories: 310
- Protein: 15g
- Carbs: 46g
- Fat: 8g
- Fiber: 13g
- Sugar: 6g
Wrap Up
This Tuscan White Bean Soup is warm, comforting, and so simple to make. I’d love to hear how yours turns out — drop a comment below and let me know what you served it with or if you made any fun swaps!

