This three bean curry is a rich, creamy, protein-packed dinner made in one skillet in just 30 minutes, with plenty of fiber, warming spices, and restaurant-style flavor.
If you love easy creamy curries try our chickpea curry, lentil curry, or kidney bean curry (rajma).

Don’t Lose This Recipe
Why you’ll love our three bean curry!
This three bean curry is the kind of dinner that makes eating more beans and vegetables something to look forward to. 🫘 It’s rich, creamy, packed with protein and fiber, and tastes like something you’d order at your favorite Indian restaurant.
The secret is the combination of black beans, kidney beans, and chickpeas simmered in a fragrant sauce of warming spices, tomatoes, and coconut milk. Every spoonful is hearty, comforting, and full of flavor. 🍛
And here’s the best part: you only need one skillet and 30 minutes to make four generous servings. It’s an affordable, nutritious dinner made mostly with pantry staples, with plenty of spinach tucked into the creamy sauce. 🌿
Louise and I make curries regularly, but this one got an especially enthusiastic reaction. She devoured a huge portion for lunch and told me it was her favorite curry yet. I think the combination of three different beans really makes this one special.
P.S: For more easy weeknight dinners with plenty of vegetables, try our vegetable curry, cauliflower curry, or tofu curry.
Ingredients
Full ingredients and substitutions are in the recipe box below.

- Olive oil: for sautéing the aromatics. Substitute avocado oil or coconut oil.
- Onion: adds sweetness and depth. Use shallots or leeks instead.
- Garlic: fresh or garlic paste. For garlic intolerance, use garlic-infused oil or a pinch of asafoetida.
- Ginger: adds warmth and freshness. Substitute ginger paste or ground ginger.
- Curry powder: the base of this Indian-inspired curry. Use mild or hot curry powder.
- Ground coriander: adds a warm, citrusy note. Substitute extra cumin.
- Ground cumin: brings earthy depth. Substitute extra curry powder.
- Turmeric: adds golden color and earthy flavor. Omit if unavailable.
- Red pepper flakes: for gentle heat. Substitute cayenne or fresh chili.
- Black beans: creamy and hearty. Substitute pinto beans.
- Kidney beans: hold their shape beautifully. Substitute cannellini beans.
- Chickpeas: add a satisfying bite. Substitute butter beans.
- Vegetable broth: creates a flavorful sauce. Substitute water and extra seasoning.
- Crushed tomatoes: add richness and acidity. Substitute diced tomatoes.
- Coconut milk: makes a creamy bean curry. Substitute light coconut milk, 1 cup heavy cream, or 1 cup half-and-half.
- Garam masala: optional but adds wonderful aroma. Substitute a pinch of cinnamon.
- Spinach: adds greens to this high-fiber dinner. Substitute chopped Swiss chard.
- Lemon or lime: brightens the sauce. Add fresh cilantro for serving.
- Basmati rice: perfect for serving. Try naan, roti, or paratha .
- Greek yogurt: optional creamy topping. Use low-fat Greek yogurt or Skyr for extra protein.

How To Make Three Bean Curry
Step 1. Sauté the aromatics and spices
Heat the olive oil in a large skillet or Dutch oven over medium-low heat. Add the chopped onion and cook for 4 minutes, stirring occasionally, until softened.
Stir in the grated garlic, ginger, curry powder, coriander, cumin, turmeric, and red pepper flakes. Cook for 1 minute, stirring constantly, until fragrant. Add a splash of broth if the pan looks dry.

Step 2. Add the beans and sauce
Drain and rinse the black beans, kidney beans, and chickpeas. Add them to the skillet and stir for 1 minute to coat them in the spices.
Pour in the vegetable broth, crushed tomatoes, and coconut milk. Season with salt and black pepper, then stir well until everything is combined.

Step 3. Simmer until creamy
Bring the three bean curry to a gentle simmer and cook uncovered for 15–20 minutes, stirring occasionally, until the sauce thickens and becomes rich and creamy.
Stir in the spinach and cook for a final minute, until wilted. Add the garam masala, if using, then taste and adjust the salt.

Step 4. Serve and enjoy
Spoon the curry over fluffy basmati rice or serve with warm naan, roti, or paratha to scoop up the creamy sauce.
Finish with a squeeze of fresh lemon or lime, chopped cilantro, and a dollop of Greek yogurt if you like.

Tips
- Toast the spices briefly: Cooking the curry powder, cumin, coriander, and turmeric with the onion, garlic, and ginger brings out their aroma. Keep the heat medium-low and stir constantly so they don’t burn.
- Rinse the canned beans well: This removes the thick canning liquid and excess sodium. Drain them thoroughly so they don’t water down the sauce.
- Use full-fat coconut milk for the creamiest sauce: It gives the curry a richer texture and balances the tomatoes and spices. Light coconut milk works too, but the sauce will be thinner.
- Simmer uncovered: This helps excess liquid evaporate and concentrates the flavor. Stir occasionally, especially toward the end, to prevent sticking.
- Mash a few beans for a thicker curry: Press a small spoonful of beans against the side of the skillet and stir them into the sauce. It’s an easy way to make the curry creamier without adding anything.
- Add the spinach at the end: It only needs about 2 minutes to wilt. Adding it too early can make it overly soft and dull its color.
- Finish with lemon or lime: A squeeze of fresh citrus just before serving brightens the rich coconut sauce and makes the spices stand out.
- Taste before adding more salt: Canned beans, broth, and curry powder can contain different amounts of sodium. Adjust the seasoning once the sauce has reduced.
- Keep the heat gentle: The beans are already cooked, so they only need to warm through and absorb the sauce’s flavor. A gentle simmer helps them hold their shape.
- Add garam masala at the end: This optional finishing spice adds another layer of warm aroma. Stir it in just before serving rather than cooking it for the full 20 minutes.
Frequently Asked Questions
Absolutely! You can replace any of the three beans with pinto beans, cannellini beans, butter beans, or even lentils. Just keep the total amount of legumes the same so the sauce stays rich and hearty.
Yes! Substitute the coconut milk with 1 cup of heavy cream or half-and-half for a creamy sauce. Light coconut milk is another option if you prefer something lighter, although the curry won’t be quite as rich.
Not particularly. The curry powder and warming spices add plenty of flavor, while the red pepper flakes provide a little heat. For a mild curry, leave them out. For a spicier version, add extra chili flakes or a pinch of cayenne.
Yes! This is a great make-ahead vegetarian curry because the beans hold their shape well, and the flavors have time to develop. Reheat gently on the stovetop, adding a splash of broth or water if the sauce has thickened.
Yes, but you’ll need to cook them separately first. Black beans, kidney beans, and chickpeas have different cooking times, so prepare each until tender before adding them to the curry.
You can add cubed firm tofu or serve it with a generous spoonful of low-fat Greek yogurt or Skyr for extra protein.
Let the curry cool, then transfer it to an airtight container and refrigerate for 3–4 days.
For longer storage, freeze for up to 3 months in freezer-safe containers, preferably without the rice or yogurt.
Thaw overnight in the refrigerator and reheat gently on the stovetop or in the microwave until steaming hot. Add a splash of water or broth to loosen the sauce if needed.
More Indian-Inspired Recipes to Try
- Chana Masala
- Dal Makhani
- Eggplant Curry
- Tofu Tikka Masala
- Chana Dal
- Aloo Gobi
- Vegetable Biryani
- Chana Saag (Chickpea Spinach Curry).
If you try this Three Bean Curry Recipe please leave a 🌟 star rating and let us know how it turned out in the comments—we love hearing from you.

Three Bean Curry (30 Minutes, One Pan, So Much Flavor)
Ingredients
- 2 tablespoons olive oil
- 1 large onion finely chopped
- 3 cloves garlic grated
- 1 inch ginger grated
- 2 teaspoons curry powder
- 2 teaspoons ground coriander
- 1 teaspoons ground cumin
- 1 teaspoon turmeric powder
- ¼ teaspoon red pepper flakes
- 1 can black beans 15 oz / 400 g can – rinsed
- 1 can kidney beans 15 oz / 400 g can – rinsed
- 1 can chickpeas 15 oz / 400 g can – rinsed
- ¾ cup vegetable broth reduced–sodium – plus more to taste
- 1 can crushed tomatoes 15 oz / 400 g
- 1 can coconut milk 14 oz /400 g – sub light coconut milk, 1 cup (250 ml) heavy cream, or 1 cup (250 ml) half-and-half
- 4 cups spinach
- 1 teaspoon salt or more to taste
- ¼ teaspoon black pepper
- 1 teaspoon garam masala optional – or a pinch of cinnamon
- 1 lemon or lime
- 4 servings basmati rice + Greek yogurt
Instructions
- Cook the spices: Heat 2 tablespoons olive oil in a large skillet or Dutch oven over medium-low heat. Add 1 large onion (chopped) and cook for 4 minutes, stirring occasionally.Add 3 cloves garlic (grated), 1 inch ginger (grated), 2 teaspoons curry powder, 2 teaspoons ground coriander, 1 teaspoons ground cumin, 1 teaspoon turmeric powder, and ¼ teaspoon red pepper flakes. Stir for 1 minute until fragrant. Add a splash of broth if the pan gets dry.

- Add the beans: Drain and rinse 1 can black beans, 1 can kidney beans, and 1 can chickpeas. Add them to the skillet and stir for 1 minute to coat them in the spices.Pour in ¾ cup vegetable broth, 1 can crushed tomatoes, and 1 can coconut milk. Add 1 teaspoon salt and ¼ teaspoon black pepper, then stir well.

- Simmer the curry: Bring to a gentle simmer and cook uncovered for 15–20 minutes, stirring occasionally, until the sauce thickens and becomes creamy.Add 4 cups spinach and cook for 1 minute, until wilted. Stir in 1 teaspoon garam masala, if using. Taste and adjust the salt.

- Serve: Spoon the curry over basmati rice or serve with warm naan, roti, or paratha.Finish with a squeeze of lemon or lime and a dollop of Greek yogurt if you like.

Notes
- Olive oil → Avocado oil or coconut oil.
- Onion → Shallots or leeks.
- Garlic → Garlic paste or garlic-infused oil.
- Ginger → Ginger paste or ground ginger.
- Curry powder → Mild or hot curry powder.
- Ground coriander → Extra cumin.
- Ground cumin → Extra curry powder.
- Turmeric → Omit if unavailable.
- Red pepper flakes → Cayenne or fresh chili.
- Black beans → Pinto beans.
- Kidney beans → Cannellini beans.
- Chickpeas → Butter beans.
- Vegetable broth → Water and extra seasoning.
- Crushed tomatoes → Diced tomatoes.
- Coconut milk → Light coconut milk, 1 cup heavy cream, or 1 cup half-and-half.
- Garam masala → A pinch of cinnamon or omit.
- Spinach → Chopped Swiss chard.
- Lemon or lime → Either citrus, with fresh cilantro for serving.
- Basmati rice → Naan, roti, or paratha.
- Greek yogurt → Low-fat Greek yogurt or Skyr for extra protein.
- Toast the spices: Stir for 1 minute over medium-low heat to release their aroma without burning.
- Rinse the beans: Drain well to remove excess sodium and avoid watering down the sauce.
- Use full-fat coconut milk: For the richest, creamiest sauce.
- Simmer uncovered: Keep the heat gentle and stir occasionally to thicken the sauce without breaking the beans.
- Mash a few beans: Stir them into the sauce for extra creaminess.
- Add spinach last: Cook for about 2 minutes, just until wilted.
- Finish with citrus: A squeeze of lemon or lime brightens the flavors.
- Adjust salt at the end: Taste after the sauce has reduced.
- Add garam masala last: Stir it in just before serving for the best aroma.
- Store and freeze: Refrigerate for 3–4 days or freeze for up to 3 months. Reheat with a splash of broth or water if needed.
Nutrition
Don’t Lose This Recipe

Hi! We are Nico & Louise
We're here to share easy, healthy, and delicious recipes 🌿✨.
Welcome to our blog, we are glad you are here.
