Indian Bean Curry Recipe: Spiced Tomato and Coconut Richness in One Pot

Main Courses

Indian Bean Curry Recipe: Spiced Tomato and Coconut Richness in One Pot

This Indian bean curry recipe transforms simple chickpeas into a fragrant, spice-infused masterpiece that simmers with layers of tomato, coconut, and aromatic whole spices. The secret lies in slow-cooked richness—where cumin seeds bloom in hot oil, ginger and garlic develop depth, and tomatoes caramelize into a velvety base.

I’ve perfected this one-pot wonder to balance heat, tang, and sweetness, ensuring every spoonful delivers restaurant-quality comfort without the fuss.

The magic begins with a tempering technique (tadka) that infuses the oil with warm spices like cardamom and cinnamon, then builds to a creamy coconut-tomato sauce that clings to tender chickpeas. Unlike quick stir-fries, this curry rewards patience—allowing flavors to meld over 30 minutes of gentle simmering.

The result? A dish that’s hearty enough for weeknight dinners but elegant enough for guests, with adaptable spice levels to suit any palate.

What sets this apart is its versatility: serve it with fluffy basmati rice for a complete meal, pair it with warm naan for dipping, or even turn it vegan by omitting ghee.

The curry’s depth comes from whole spices (not powders), which release their aroma gradually, and a touch of jaggery or brown sugar to counterbalance the acidity. Each bite offers a symphony of textures—creamy coconut, tender chickpeas, and a subtle crunch from toasted cumin.

The best part? This recipe scales effortlessly—double it for leftovers or halve it for a light lunch. Store it in the fridge for up to 5 days, or freeze portions for quick meals.

Whether you’re feeding a family or treating yourself, this bean curry delivers the soul-soothing warmth of home-cooked Indian cuisine, one aromatic spoonful at a time.

👨‍🍳
Difficulty
Hard
🌿
Diet
Vegetarian
🔥
Calories
Med Cal

Ingredients for bean curry recipe indian

Whole spices, coconut richness, and tender chickpeas come together for this aromatic one-pot masterpiece.

Ingredient Amount Notes
Extra-Firm Tofu (or Chickpeas) 🥜 14 oz Drained, pressed, cubed (or 1 can, drained)
Yellow Onion 🧅 1 whole Medium size, finely diced
Fresh Ginger 🌿 2 tbsp Finely grated, organic preferred
Garlic Cloves 🧄 4 cloves Peeled, minced
Cumin Seeds 🌶️ 1 tbsp Toasted until fragrant
Ground Cumin 🌶️ 1 tsp Freshly ground preferred
Ground Coriander 🌿 1 tsp Freshly ground preferred
Turmeric Powder 🧂 ½ tsp Bright yellow color
Garam Masala 🌶️ 1 tsp Store-bought or homemade blend
Cardamom Pods 🌿 3 whole Lightly crushed
Cinnamon Stick 🌿 1 whole 1-inch piece
Tomato Puree 🍅 ½ cup High-quality, no salt added
Coconut Milk 🥥 1 can (13.5 oz) Full-fat, chilled overnight
Jaggery or Brown Sugar 🍯 1 tbsp For balancing acidity
Ghee or Coconut Oil 🫒 3 tbsp For authentic tadka
Fresh Cilantro 🌿 ¼ cup Chopped, for garnish
Lemon Juice 🍋 1 tbsp Freshly squeezed
Salt 🧂 1 tsp Adjust to taste

The spices are the soul of this curry. Cumin seeds must be toasted until they sizzle and release their nutty aroma—this is non-negotiable for authentic flavor. For whole spices like cardamom and cinnamon, spice counters or Indian grocery stores offer the freshest options. If using pre-ground spices, ensure they're labeled '100% pure'—MDH or Everest brands are reliable. Fresh ginger and garlic should be vibrant, with no soft spots. The tomato puree should be thick and concentrated—Muir Glen is a trusted brand for quality. For the coconut milk, chilling it overnight before using helps prevent curdling during cooking.

No cumin seeds? Ground cumin at double the amount works in a pinch, though the texture will differ. Substitute jaggery with light brown sugar for a milder sweetness. If you can't find cardamom pods, ground cardamom at half the amount suffices. For a vegan version, simply omit the ghee and use coconut oil instead. The cilantro can be swapped for fresh mint if preferred, though traditional recipes call for cilantro. For extra richness, add 1 tbsp cashew paste to the coconut milk mixture. Always taste as you go—adjust salt and sweetener to balance the tangy tomato base.

This curry develops deeper flavor over time, so reheat gently on low heat to preserve its creamy texture. Store in an airtight container in the fridge for up to 5 days, or freeze for 3 months in portion-sized containers. The spices lose potency after 6 months, so replace your spice collection annually. For meal prep, double the batch and freeze half—simply thaw and reheat for a quick weeknight dinner. Garnish with extra cilantro and a squeeze of lemon just before serving to brighten the flavors.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this recipe for lazy nights—just toss everything into one pot, stir, and let the spices work their magic. No chopping chaos, no extra bowls, and honestly, the tofu (or chickpeas) soaks up all that garlicky, cumin-kissed goodness like a dream.
  • Spice Bomb Joy: That first whiff of toasted cumin seeds and fresh ginger hitting the pan? Instant mood booster. The onions caramelize into sweet, jammy pockets while the garlic sings—it’s the kind of flavor that makes you pause mid-stir and think, "Why don’t I do this more often?"
  • Meal Prep MVP: Between us, this curry begs to be made in bulk. The flavors deepen overnight, and I’ve turned it into lunch for days—just reheat with a splash of water. (Yes, even on a Tuesday night.) Plus, swap tofu for chickpeas when you’re out, and suddenly it’s a protein-packed side for grilled chicken or rice bowls.
  • Budget-Friendly Hero: Cumin seeds, ginger, and onions? Pantry staples that cost pennies. Tofu’s cheaper than meat, and chickpeas? A can’s worth of happy leftovers that stretch into three meals. I’ll be real: this curry saved me from takeout more times than I can count.

Step-by-step instructions for Indian bean curry with spiced tomato and coconut

This method delivers a rich, aromatic curry with balanced flavors and perfect texture every time.

1

Prepare the Spice Base with Ghee

Heat the 3 tablespoons ghee or coconut oil in a heavy-bottomed pot over medium heat. Add the 1 tablespoon cumin seeds and toast until they begin to sizzle and release their aroma—about 30 seconds. Immediately add the 1 whole yellow onion and cook for 5 minutes until softened and translucent.

Add the 2 tablespoons fresh ginger and 4 cloves garlic cloves, stirring constantly for 1 minute until fragrant. This step develops the foundational flavors—don't rush it. The ginger and garlic should be fully incorporated before moving forward. If the onions begin to brown too quickly, reduce the heat slightly to maintain even cooking.

2

Toast Whole Spices and Add Ground Seasonings

Add the 3 whole cardamom pods and 1 whole cinnamon stick, lightly crushing the cardamom with the back of a spoon. Toast for 1 minute until the spices release their essential oils and the pot smells deeply aromatic. Remove the pot from heat and stir in the 1 teaspoon ground cumin, 1 teaspoon ground coriander, and ½ teaspoon turmeric powder. Return to medium heat and cook for 30 seconds to bloom the spices.

This step ensures maximum flavor extraction from the whole spices. The brief off-heat pause prevents burning while allowing the ground spices to fully integrate. The turmeric will dissolve into the fat, creating a vibrant yellow base for the curry. If the spices darken too quickly, reduce the heat to maintain their color and prevent bitterness.

3

Build the Tomato-Coconut Sauce

Add the ½ cup tomato puree and cook for 5 minutes until the mixture thickens slightly and the raw taste dissipates. Stir in the 1 tablespoon jaggery or brown sugar and 1 teaspoon salt, then pour in the 1 can (13.5 oz) chilled coconut milk. Bring to a gentle simmer over medium-low heat and cook for 8-10 minutes, stirring occasionally, until the sauce thickens to a velvety consistency.

This simmering process reduces the coconut milk's richness while allowing the jaggery to balance any acidity from the tomato. The sauce should coat the back of a spoon but remain pourable. If it thickens too quickly, add 1-2 tablespoons water to maintain the proper texture. The curry is now ready to receive the protein—don't let it boil vigorously, as this can cause the coconut milk to curdle.

4

Incorporate the Protein and Finish

Add the 14 oz cubed tofu (or drained chickpeas) to the sauce and simmer for 10-12 minutes over low heat, stirring occasionally, until the tofu is heated through and tender or the chickpeas are fully warmed. The curry should be thick enough to coat the back of a spoon but still spoonable. Taste and adjust the seasoning with additional salt or lemon juice if needed—this balances the richness.

Stir in the 1 teaspoon garam masala and cook for 1 additional minute to infuse the spice blend into the curry. Remove from heat and let it rest for 5 minutes to allow the flavors to meld. The garam masala should be distributed evenly—this is the final flavor bridge that ties all the spices together. If using tofu, ensure it's fully heated to avoid a rubbery texture.

5

Garnish and Serve Immediately

Transfer the curry to serving bowls and garnish with ¼ cup chopped fresh cilantro. Drizzle with the 1 tablespoon lemon juice and serve hot with basmati rice or warm naan. The lemon juice brightens the dish, cutting through the richness of the coconut and ghee. The cilantro adds a fresh contrast to the deep, spiced flavors. Serve immediately while the curry is at its peak texture and temperature—this dish doesn't reheat well.

Each bite should deliver a harmonious blend of spiced tomato, creamy coconut, and aromatic whole spices. The tofu or chickpeas should be tender but hold their shape, absorbing the rich sauce without breaking down. For extra depth, reserve a small amount of the cooking liquid to thin the curry if needed during serving.

👨‍🍳

Pro Tips For Making Bean Curry Recipe Indian

  • CRISP THE TOFU: Press the tofu for 20 minutes between two plates with a heavy pan on top—don’t skip this, or it’ll turn soggy. Cut it into 1-inch cubes and pan-fry until golden on all sides before adding to the curry; this adds texture that raw tofu can’t match.
  • GINGER-GARLIC PASTE: Make a smooth paste with ginger and garlic, not a chunky one—blend with a splash of water until silky. Frying a paste gives deeper flavor than minced bits that burn and stick. I learned this the hard way after scraping burned garlic off my pan twice.
  • SIMMER DON’T BOIL: Let the curry bubble gently at low heat after adding tomatoes and spices—boiling burns the spices and makes the sauce bitter. A slow simmer (3-4 hours) builds layers of flavor without overpowering the beans.
  • ONIONS UNTIL CARAMEL: Cook the onions until deep golden, not just soft—this takes 15-20 minutes, but it’s worth it. The sweetness balances the heat and makes the curry taste richer. If you’re impatient, lower the heat and walk away; they’ll caramelize eventually.

Storing and reheating this bean curry recipe indian

Refrigerator Storage

Store your bean curry in an airtight container with a tight-sealing lid in the refrigerator for up to 5 days. The flavors actually deepen over time as the spices meld together—just like a good stew!

Let it cool completely before storing to prevent condensation, which can make the sauce watery. I like using glass Pyrex containers because they keep the curry fresh and allow me to reheat it directly in the microwave or stovetop. 🥫

Freezer Prep Tips

For longer storage, portion the curry into freezer-safe containers or heavy-duty freezer bags, leaving 1-inch headspace for expansion. Label with the date—this curry stays delicious for up to 3 months.

I recommend freezing it in 1-cup portions for easy single servings. To prevent freezer burn, press out excess air before sealing. Thaw overnight in the fridge before reheating. ❄️

Stovetop Reheating

My preferred method is reheating on the stovetop over low heat to preserve the creamy coconut texture. Pour the curry into a saucepan and add 1-2 tablespoons water or coconut milk to prevent sticking. Heat gently for 5-7 minutes, stirring occasionally, until it reaches 165°F internal temperature.

Avoid high heat—it can curdle the coconut milk and make the curry grainy. Taste and adjust seasoning with a pinch of salt or extra lemon juice. 🔥

Microwave Method

For quick reheating, transfer a portion to a microwave-safe bowl and cover loosely with a damp paper towel. Heat on medium power (50%) for 2-3 minutes, stirring halfway. If the curry seems too thick, add 1 tablespoon water or coconut milk and continue heating in 30-second intervals until hot.

The microwave can make coconut milk separate, so stir vigorously before serving. This method works best for single servings. 💡

Reviving Texture

If your reheated curry loses its creamy texture, don’t worry—just stir in 1 tablespoon coconut milk or cream while warm. The heat from the curry will help it re-emulsify beautifully. For extra richness, add a pat of ghee or a drizzle of coconut oil while reheating.

This trick works wonders for restoring that restaurant-quality smoothness. The key is patience and gentle heat! 🌟

Garnish Fresh

Always add fresh cilantro and a squeeze of lemon juice right before serving—these brighten the flavors after reheating. The lemon juice cuts through any richness that might have developed during storage, while the cilantro adds a vibrant pop of color.

For an extra touch, sprinkle with toasted cumin seeds or a pinch of chaat masala for a restaurant-style finish. 🌿

Nutrition facts

Servings 4
Amount Per Serving
Calories 420kcal
% Daily Value *
Total Fat 28g36%
Saturated Fat 20g100%
Cholesterol 0mg0%
Sodium 850mg37%
Total Carbohydrate 32g11%
Dietary Fiber 10g36%
Sugars 10g
Protein 22g44%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I use canned chickpeas instead of tofu?

This recipe works beautifully with 1 can (15 oz) drained chickpeas—just adjust the cooking time to 8-10 minutes instead of 10-12. Chickpeas absorb flavors faster than tofu, so keep an eye on them to prevent mushiness. For extra richness, mash a few chickpeas lightly with a fork before adding them to the sauce.

2

How do I adjust the spice level?

For milder heat, reduce the ground cumin and garam masala by half, or omit the cumin seeds entirely. For extra kick, add ½ teaspoon cayenne pepper or 1 green chili (finely chopped) when toasting the spices. Always taste before serving—you can balance heat with lemon juice or yogurt (for a raita pairing).

3

Why did my coconut milk separate?

This happens when the curry boils too vigorously or sits too long on high heat. To fix it, whisk in 1 tablespoon coconut milk or cream while warm, or stir in ½ teaspoon cornstarch mixed with water. For prevention, simmer on medium-low heat and avoid stirring too vigorously. The sauce should bubble gently, not violently.

4

Can I make this curry in an Instant Pot?

Yes! Sauté the onions, ginger, and garlic in normal mode for 3 minutes, then add all remaining ingredients except the garam masala. Cook on high pressure for 8 minutes, then quick-release. Stir in garam masala and let sit for 5 minutes** before serving. The pressure cooker speeds up the process but delivers the same rich flavors.

5

What’s the best way to serve leftovers?

Reheat gently on the stovetop with 1-2 tablespoons water or coconut milk to restore creaminess. Garnish with cilantro and lemon juice to brighten flavors. For extra appeal, serve with warm naan or jeera rice, or drizzle with yogurt and chopped onions for a raita topping. The curry tastes even better the next day as flavors meld!

★★★★★4.9(2 reviews)
Categories Main Courses