Hearty Bean Stew

This post may contain affiliate links. Please read my disclosure policy for more details.

This scrumptious bean stew is cozy, hearty, and vegan. The beans and the medley of vegetables are simmered in a rich, glossy red wine broth. It’s a wonderful, inexpensive meal full of flavor and plant-based protein.

Just make sure you have crusty bread like these panini rolls or this warm Italian focaccia to go along with, and you’ll be in heaven!

Top view of a white bowl full of creamy bean stew cooked in a red wine sauce.

I don’t know if I mentioned this before, but I’m all about warming meals in this period. From this chickpea stew to this tomato stew and potato stew, I love throwing together hearty vegetarian stews with everyday ingredients.

I’m hooked with this silky bean stew recipe now, and I’m pretty sure you’re going to love it too. It’s truly a meal in a bowl, it tastes incredible, and it’s so economical.

The mixed veggies (soffritto) sauteed in olive oil make a wonderful flavor base along with the red wine perfumed with herbs. It really takes your humble canned beans to the next level. And the beans cook slowly in this deeply savoury sauce making it thicker, filling, and yummy.

Also, it uses pantry staples and makes a healthy high-protein supper.
Isn’t this perfect for your meatless Monday?

List of the ingredients

  • Canned beans (borlotti, pinto or white beans…)
  • Veggies: onion, carrots, celery, garlic
  • Herbs: rosemary, Italian seasoning, thyme
  • Spices: pepper, paprika
  • Dry red wine
  • Soya sauce
  • Flour
  • Tomato paste
  • Salt
Top view of the ingredients to make this bean stew over a white background.

How to make bean stew

(Note: this is a quick description with step-by-step photos, the full recipe is at the bottom of the page).

  • Saute’ the diced vegetables in olive oil for about 10 minutes.
  • Add the minced garlic, herbs and spices. Stir well to coat in flavor.
Top view of a white cast iron with diced vegetables, spices and herbs to make the soffritto.
  • Stir in tomato paste and flour. Again, toss to combine.
  • Add the red wine, stir, and allow the alcohol to evaporate.
A glass jug pouring red wine into the cast iron containing soffritto, flour and tomato paste.
  • Add the vegetable broth, salt, bring to the boil.
  • Reduce the heat to a simmer, cover with a lid, and cook for 25 minutes.
  • The vegan bean stew is ready to serve!
A glas jug pouring broth into the cast iron containing beans and a red wine sauce.

Recipe notes & FAQ

Ingredients and substitutions

Beans: I used canned borlotti beans (also known as cranberry beans) for this stew, I like their sweet flavor and hearty, creamy texture. But red kidney, pinto beans or white beans such as cannellini beans are totally fine. You can use dried beans if you wish, see notes in the recipe card below.

Vegetables: the recipe starts with a soffritto made with diced carrots, celery, onion and finally garlic. This vegetable medley makes the stew more filling and flavorful.

Red wine: dry red wine makes the sauce richer and adds a ton of flavor.

Herbs: for convenience, the recipe calls for dried herbs. But 1 or 2 fresh rosemary sprigs, thyme and bay leaf can be used instead of dried herbs.

Spices: pepper and paprika, for more flavor.

Flour: you need some flour to make the roux, this is what thickens the red wine broth.

Tomato paste: it helps to thicken the sauce, and brings flavour and colour.

Soya sauce: adds depth of flavour, salt and colour. But you can’t taste the soya flavor, I promise.

Top view of a white bowl full of bean stew, crusty bread and fresh thyme in the background.

Can I substitute red wine?

If you prefer to skip the wine, I suggest you to use beef broth (if you don’t keep it vegan/vegetarian). Vegetable broth instead of wine is ok too, but the sauce will be lighter with a less complex bite.
To add more hearty flavor, add a handful of diced mushrooms when the soffritto is done. Stir them along with these diced vegetables, and let them cook until they’re tender and release their moisture, approximatively 5 minutes. Then add the rest of the ingredients as per the recipe.

Can I make it gluten-free?

Yes. For a gluten-free option you can use white rice flour, sweet rice flour or arrowroot flour instead of all-purpose flour. They help to thicken the broth.

A spoon digging into a bowl full of rich bean stew.

Variations: add more veggies!

The recipe is quite flexible, feel free to add more vegetables that make the stew more filling and rustic. Here are the add-in ideas that work well in this bean stew:

  • Mushrooms: add diced mushrooms at the beginning, when the soffritto is ready. Stir until they release the moisture, cook for 5 minutes, then add the rest of the ingredients.
  • Potatoes: add peeled and diced potatoes along with the beans.
  • Leeks: add sliced leeks along with the beans.
  • Leafy greens: add baby spinach or baby kale in the last 1-2 minutes of the cooking time. Stir and cook until wilted.
  • Peas: add frozen peas in the last 3 minutes of the cooking time. The temperature will drop, so bring the stew to a simmer and cook the peas until tender.

Note: if you add more vegetables, adjust the quantity of the broth accordingly. It should be enough to cover and cook the ingredients without making the stew too watery. Trust your judgement here, and make sure to adjust the seasoning at the end.

Close-up of a spoon full of beans cooked in a rich tomato sauce, a white bowl and some bread in the background.

More bean recipes?

Beans are a great, inexpensive staples that provide a multitude of health benefits, Here are some of our favorite bean recipes:

If you make this bean stew, or you have a question, let me know by leaving a comment. I would love to hear from you! x

And for more recipe updates, follow me on InstagramPinterest and Facebook

Close-up of a white bowl full of hearty bean stew.
Print Recipe
5 from 1 vote

Hearty Bean Stew (vegan)

This scrumptious bean stew is cozy, hearty, and vegan. It's deliciously filling with beans and basic vegetables simmered in a rich, glossy red wine broth. It's a wonderful, inexpensive meal full of flavor and plant-based protein.
Prep Time5 minutes
30 minutes
Total Time35 minutes
Course: Soup, stew
Cuisine: vegan
Keyword: bean stew
Servings: 4
Calories: 311kcal
Author: Katia


  • 2 Tbsp olive oil, divided
  • 1 onion, diced (any color)
  • 2 medium-sized carrots, diced
  • 1 celery rib, diced
  • 3 garlic cloved, minced
  • ½ Tbsp paprika
  • 1 ½ tsp dried rosemary (or 1 sprig of fresh)
  • 1 tsp Italian seasoning (or oregano)
  • ½ tsp dried thyme (or a few sprigs of fresh)
  • 3 Tbsp tomato paste
  • 2 Tbsp all-purpose flour (leveled)
  • ¾ cup dry red wine
  • 2 cans (14oz/400 grams each) borlotti beans, drained (or cannellini, pinto, kidney beans)
  • 2 cups low sodium broth (or adjust to the desired consistency)
  • ¼ – ½ tsp salt, to taste (start with ¼ tsp)
  • tsp black pepper, plus more to taste
  • 1 Tbsp soya sauce


  • Warm 1 Tbsp of the olive oil in a large pot or Dutch oven over medium heat.
  • Once the oil is shimmering, add the diced onion, carrot, celery and cook, stirring often, until the vegetable have softened and the onion turns translucent. It takes about 10 minutes.
  • Add spices, garlic and herbs, stir well and cook for 1 or 2 minutes to enhance their flavor.
  • Add the second Tbsp of olive oil, tomato paste and flour. Stir to combine until you make a paste (this is called roux, it helps to thicken the broth).
  • Stir in the red wine, mix well with the rest of the ingredients, and let it cook for about 1 minute or so. You have a creamy red wine mixture now.
  • Add the beans, the broth, and the salt (start with ¼ tsp), bring to the boil, reduce to a simmer, cover with a lid and cook for 20 minutes.
  • Finally, add 1 Tbsp of soya sauce, cook for a further minute, taste and make sure you're happy with the seasoning.
  • Serve warm with crusty bread or steamed or boiled rice. Garnish with fresh parsley if you wish. Enjoy!


Dried beans: use about 1 ¼cup to make 2 cans (14oz each). Make sure you soak them overnight (about 8 hours) in cold water, then cook them until they are tender but firm. When the beans are cooked and drained, you can proceed as per recipe.
Salt: start with ¼ of salt and then adjust the seasoning at the end. If you use chicken, beef or regular vegetable broth rather than low-sodium broth, it’s important to adjust the seasoning at the end and not at the beginning, as you don’t know how salty the broth is.  
Storage: this bean stew will keep in the fridge in an airtight container for up to 4 days. To reheat, add a touch of water until it’s thinned to the desired consistency, then gently warm over medium-low heat. It’s also freezable in an airtight container for up to 1 month
Nutrition facts: the nutrition values are  for one serving and are based on an online nutrition calculator.  It’s an estimate only and it should not be considered as a substitute for a professional nutritionist’s advice. Please see my disclosure policies. 


Calories: 311kcal | Carbohydrates: 39g | Protein: 14g | Fat: 8g | Saturated Fat: 1g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 6g | Sodium: 554mg | Potassium: 850mg | Fiber: 12g | Sugar: 5g | Vitamin A: 5715IU | Vitamin C: 7mg | Calcium: 87mg | Iron: 4mg


  1. 5 stars
    Made this recently and it was excellent. The soup was full of flavour and glossy. Tis the second recipe I’ve made from your blog and I’ll definitely be making more – so thank you! 🙂

    1. That’s great, Matthew!
      And thanks so much for taking the time to share your feedback. Cheers x

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating