My white bean stew is creamy, comforting, and loaded with zesty Mediterranean-inspired flavors! Made with hearty cannellini beans, juicy tomatoes, briny olives and capers, and fresh basil and spinach, this vibrant stew is both delicious and easy to make. Perfect for a busy weeknight dinner!

Beans are one of my favorite blank slates for meal creation. They're hearty, cheap, I always have a few cans in the pantry, and you can pair them up with just about anything. That's why I keep bean stew recipes like my butter bean stew, chickpea stew, and beans & greens stew on hand for those days when I'm craving a hearty, wholesome dinner. This white bean stew is the newest addition to my bean stew rotation.
Jump to:
I love this stew because, for one thing, it's a total flavor-bomb. How can it not be with delicious ingredients like tomatoes, olives, lemon, capers, and basil? But also, most of the ingredients are pantry staples that I keep on hand all the time. I actually always have some lemons and spinach, too. So I can whip a batch up on a whim. It always hits the spot, and bonus: this recipe makes for great leftovers.
Ingredients You'll Need
Below you'll find a list of ingredients in this recipe, with notes and substitutions. Scroll all the way to the bottom of the post to see the full recipe, including the amount of each ingredient.
- Olive oil.
- Onion.
- Garlic.
- White wine. Stick with a dry variety like chardonnay or sauvignon blanc, and make sure to run your brand through Barnivore before you buy (not all wine is vegan!).
- Cannellini beans. I like cannellini beans best for this recipe, because they cook up super creamy. But if you have a few cans of some other white bean variety on hand, feel free to use them. Navy beans, great northern beans, and butter beans will all work!
- Diced tomatoes.
- Tomato sauce. Tomato puree or crushed tomatoes will also work.
- Vegetable broth.
- Kalamata olives.
- Capers.
- Fresh basil.
- Lemon juice. Make sure to use freshly squeezed juice, and not bottled.
- Lemon zest.
- Salt and pepper.
How It's Made
Below is a detailed photo tutorial on how to make this dish. Scroll all the way down if you'd like to skip right to the recipe!

Step 1: Cook the garlic and onion. Heat the olive oil in a pot, then add diced onion and cook it for a few minutes, stirring often, until it softens. Add minced garlic and cook it with the onion for a minute, stirring constantly.

Step 2: Add the wine. Stir it in, bring it to a boil, then lower the heat and let it simmer for a bit. After a few minutes it should have reduced by about half.

Step 3: Simmer beans and tomatoes. Stir in the beans, diced tomatoes, tomato sauce, and broth. Let the stew simmer for about 20 minutes to soften the beans and thicken the sauce.

Step 4: Add spinach, olives, and capers. Stir them in, then let the stew continue simmering for just a couple minutes, until the spinach wilts.

Step 5: Finish the stew. Take the pot off of heat, then stir in the basil, lemon juice, and zest. Give it a taste-test and season it with salt and pepper. Careful here — capers and olives will add quite a bit of salt, so you may not need any more!
Variations
- Mixed bean stew. Replace one or more cans of cannellini beans with another variety, like lentils, chickpeas, or kidney beans.
- Add pasta. Stir in a few cups of cooked pasta to make this stew extra hearty.
- Add veggies. Sauté some diced celery, carrots, and/or peppers with your onion, or throw in some spinach, green beans, cauliflower, potatoes, or kale while the soup simmers.
Frequently Asked Questions
Yep! There are no gluten-containing ingredients in this recipe.
Leftover white bean stew will keep in an airtight container in the fridge for three to four days, or in the freezer for about three months.
Yes, but you'll need to soak and fully cook them first. You'll need about 7 cups of cooked beans.
Yep! Just skip step 2. Nothing needs to be substituted.
More Vegan Stew Recipes
Like this recipe? If so, please stop back and leave me a review and rating below if you try it! Also be sure to follow me on Facebook, Pinterest or Instagram, or subscribe to my newsletter for more recipes like this one!
📖 Recipe
Mediterranean White Bean Stew
Ingredients
- 1 tablespoon olive oil
- 1 medium onion, diced
- 4 garlic cloves, minced
- ¼ cup dry white wine
- 4 (15.5 ounce/439 gram) cans cannellini beans, drained and rinsed
- 1 (14.5 ounce/411 gram) can diced tomatoes
- 1 (15 ounce/425 gram) can tomato sauce
- 1 cup vegetable broth, plus up to an additional ½ cup, if needed
- 1 cup Kalamata olives, halved
- 2 cups baby spinach
- 2 tablespoons capers
- 1 cup fresh basil leaves, roughly chopped
- 2 tablespoons lemon juice
- 1 teaspoon lemon zest
- Salt and pepper, to taste
Instructions
- Coat the bottom of a large pot with the oil and place it over medium heat. Give the oil a minute to heat up, then add the onion. Sweat the onion for about 5 minutes, until it starts to soften. Stir in the minced garlic and cook it with the onion for about a minute, stirring constantly, until it becomes very fragrant.
- Stir in the wine. Bring it to a simmer, then lower the heat and let it cook until the volume has been reduced by about half, about 4 minutes.
- Stir in the cannellini beans, diced tomatoes, tomato sauce, and broth. Raise the heat and bring the mixture to a boil, then reduce it to a low simmer. Let the mixture simmer for about 20 minutes, stirring occasionally, until the sauce has thickened a bit. You can add more broth if it becomes too thick at any point.
- Stir in the olives, spinach, and capers. Let the stew simmer for about 2 minutes longer, until the spinach has wilted.
- Remove the pot from heat. Stir in the basil, lemon juice, and zest. Season the stew with salt and pepper to taste.
- Ladle into bowls and serve.









Just made this tnite! Good except olives and lemon alittle strange, but ok.
I’d make it again minus those 2 ingredients.
Made this last week but cut the recipe in half. It was great. I'll be making the full recipe soon!
It was delicious! I added chicken sausage which I browned first. I also used fire roasted diced tomatoes and fire roasted tomato sauce. I also switched Swiss chard instead of spinach and added parsley at the end when I added the basil. I cut the recipe in half and used low salt chicken broth. Also used less capers and olives. It was amazing 🤩 thank you for sharing this unique recipe. We will definitely make it again! 😋
Can't wait to make this! Sounds so good!
Thanks so much for sharing it.