Indian Bean Curry Recipe: Spiced Tomato and Coconut Simmered to Richness

Main Courses

Indian Bean Curry Recipe: Spiced Tomato and Coconut Simmered to Richness

This Indian bean curry recipe transforms humble chickpeas into a fragrant, spiced masterpiece that balances heat, sweetness, and creaminess in every spoonful. The secret lies in slow-simmering aromatic spices with tomatoes and coconut milk, creating a velvety sauce that clings to each bean.

I developed this version after years of refining restaurant-style curries for home kitchens—no shortcuts, just layered flavors that build as they simmer.

The foundation starts with tempering whole spices in hot oil until they sing, then building the base with onions, garlic, and ginger before adding tomatoes to create a rich, jammy consistency.

Coconut milk adds depth while keeping the dish light, and a final touch of lemon brightens the natural sweetness of the beans. What you'll end up with is a curry that's rich enough for a special dinner but simple enough for weeknight meals.

Perfectly balanced between earthy spices and creamy coconut, this bean curry delivers restaurant-quality results with minimal effort. The spices infuse deeply during the long simmer, while the coconut milk prevents the dish from becoming too heavy.

Each bite offers tender chickpeas coated in a sauce that's tangy, spiced, and just slightly sweet—a perfect harmony that makes this curry a weeknight staple.

Serve with steamed basmati rice or warm roti to soak up every last drop of that flavorful sauce. For extra depth, garnish with fresh cilantro and a squeeze of lemon before serving.

This recipe adapts beautifully to different spice levels—adjust the chili powder to your preference, but remember that the flavors will mellow as they simmer. Let's create this comforting bowl of flavors.

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

Ingredients for bean curry recipe indian

These simple ingredients create a restaurant-style curry that's creamy, spiced, and packed with flavor.

Ingredient Amount Notes
Chickpeas 🌾 1 ½ cups Drained and rinsed, or cooked from dry
Coconut Milk 🥥 1 can (13.5 oz) Full-fat for creaminess
Crushed Tomatoes 🍅 1 can (14.5 oz) San Marzano preferred
Yellow Onion 🧅 1 whole Medium, finely chopped
Garlic Cloves 🧄 4 cloves Minced, fresh preferred
Fresh Ginger 🌿 ½ inch Peeled, grated (about 1 tbsp grated)
Vegetable Oil 🫒 ¼ cup For tempering spices
Ground Cumin 🌿 1 tbsp Toasted for deeper flavor
Ground Coriander 🌶️ 1 tbsp Freshly ground if possible
Turmeric Powder 🌶️ ½ tsp Bright yellow color
Garam Masala 🌶️ 1 tsp Store-bought blend works
Chili Powder 🔥 ½ tsp Adjust for heat preference
Salt 🧂 1 tsp Kosher or sea salt
Fresh Cilantro 🌿 ¼ cup Chopped, for garnish
Lemon Juice 🍋 1 tbsp Freshly squeezed

The chickpeas are the star here—Trader Joe's or store-brand cans work fine, but if you're cooking from dry, soak overnight for the best texture. Coconut milk matters: full-fat gives that rich, velvety sauce, while light versions can make it watery. I always grab Thai Kitchen brand for consistency, but any full-fat can works. For the tomatoes, San Marzano cans have that perfect balance of sweetness and acidity—worth the splurge if you're making this often. Fresh ginger is key for brightness, so grab a small knob at the store and grate just what you need (no need to buy a whole pound).

No fresh ginger? Ground ginger at half the amount works in a pinch. Short on garam masala? Mix equal parts cinnamon, cardamom, and cloves for a DIY version. The chili powder can be swapped for cayenne or red pepper flakes, but start light—you can always add more. For the tomatoes, if you're using canned diced instead of crushed, just mash them slightly with a fork. The cilantro is totally optional, but I always toss in a handful—fresh from the market has way more flavor than the pre-bunched grocery store kind.

This curry tastes even better the next day as the flavors meld. Keeps for 4-5 days in the fridge, or freeze portions for 3 months. I like to make a double batch and portion it into containers so I can grab it straight from the fridge for quick lunches. The sauce thickens as it cools, so if it seems too thick when reheating, just add a splash of water or coconut milk. Garnish with extra cilantro and a squeeze of lemon right before serving—trust me on the fresh lemon.

❤️

Why You'll Love This Recipe

  • Pantry-to-Pot Magic: I swear by this recipe when I’ve got nothing but canned chickpeas and a dented coconut milk can. Sauté onions and garlic until golden, toss in crushed tomatoes and spices—boom, you’ve got a simmering base. No fancy prep, no stress, just layers of flavor building while you chop veggies for rice.
  • Creamy Without the Guilt: That coconut milk transforms this into something ridiculously rich, but it’s not heavy—just velvety smooth with a subtle sweetness. The chickpeas soak it all up, giving each bite that perfect creamy-crunchy contrast. Honestly, I’ll take this over half the restaurant curries I’ve tried.
  • Leftovers That Beg for More: This curry tastes better the next day—yes, really. The flavors meld into something deeper, and it reheats like a dream. I make a big batch on Sundays, freeze half, and still crave seconds from the fresh pot. My freezer’s full of it, and my wallet’s happy.
  • Budget-Friendly Powerhouse: Chickpeas and coconut milk stretch to feed four for under $8. Add rice, and you’ve got a meal that’ll fill everyone up without breaking the bank. Between us, this is how I feed my book club every month—and they never leave hungry.

Step-by-step instructions for Indian bean curry

Here's how to build a rich, aromatic curry that balances spice, coconut creaminess, and tender chickpeas.

1

Sauté the Aromatics Until Fragrant

Heat the 0.25 cup vegetable oil in a heavy-bottomed pot over medium heat. Add the 1 whole yellow onion, chopped into small pieces, and cook for 5-6 minutes until it softens and turns translucent. This is where the foundation of your curry's flavor develops.

Next, add the 4 cloves garlic cloves and 0.5 inch fresh ginger (about 1 tablespoon grated). Stir constantly for 1-2 minutes until the garlic turns golden and you can smell that warm, pungent aroma. This is your signal that the aromatics are ready for the next step. If the garlic starts to brown too quickly, reduce the heat slightly to prevent burning.

2

Toast the Spices for Maximum Flavor

Lower the heat to medium-low and add the 1 tablespoon ground cumin, 1 tablespoon ground coriander, 0.5 teaspoon turmeric powder, 0.5 teaspoon chili powder, and 1 teaspoon salt. Stir continuously for 30-45 seconds until the spices release their essential oils and the pot fills with a warm, earthy fragrance.

This toasting step is crucial—it deepens the spice flavors and prevents a raw, bitter taste in your curry. You'll see the spices darken slightly and smell their aromatic oils wafting up. If you notice any of the spices burning (they'll turn darker than just toasted), remove the pot from heat immediately and let it cool for a minute before proceeding.

3

Simmer the Tomato Base

Pour in the 1 can (14.5 oz) crushed tomatoes and stir well to combine with the spice mixture. Increase the heat to medium-high and bring the mixture to a gentle boil. Once boiling, reduce the heat to medium-low and let it simmer uncovered for 10-12 minutes, stirring occasionally.

During this time, the tomatoes will break down and thicken, creating a rich, flavorful base. You'll notice the mixture darken slightly and reduce in volume, which is exactly what you want. This step develops the curry's depth of flavor and ensures a smooth texture in the final dish. If the mixture sticks to the bottom of the pot, add a splash of water to keep it moving.

4

Add Chickpeas and Coconut Milk

Add the 1.5 cups chickpeas (drained and rinsed) to the tomato mixture and stir to coat them evenly with the spiced sauce. Pour in the 1 can (13.5 oz) coconut milk and stir again. Bring the mixture to a gentle simmer over medium heat and let it cook uncovered for 15-20 minutes, stirring occasionally.

As the curry simmers, the chickpeas will absorb the rich, spiced coconut sauce, becoming tender and flavorful. You'll see the sauce thicken slightly as the coconut milk blends with the tomato base. This is the moment where all the flavors come together—keep tasting as you go and adjust the seasoning if needed. If the curry is too thick, add a splash of water to reach your desired consistency.

5

Finish and Garnish

Once the chickpeas are tender and the sauce has thickened to your liking, remove the pot from heat. Stir in the 1 teaspoon garam masala and let it sit for 5 minutes to allow the spices to infuse into the curry. Finish with the 1 tablespoon lemon juice and stir well.

Garnish the curry with the 0.25 cup fresh cilantro, chopped finely. The bright, citrusy lemon juice and fresh cilantro will cut through the richness of the coconut milk, balancing the flavors perfectly. Serve the curry hot with steamed basmati rice or warm naan bread, and enjoy the harmonious blend of spices and textures in every bite.

👨‍🍳

Pro Tips For Making Bean Curry Recipe Indian

  • Sauté Onions Low and Slow: I used to rush this step and end up with bitter, caramelized onions before the garlic even hit the pan. For bean curry, keep the heat at medium-low until the onions are translucent but still pale gold—not brown. This builds flavor without burning, and your curry won’t taste like a smoky campfire.
  • Crush Garlic Like You Mean It: Whole cloves? No. Paste? Overkill. For this dish, smash 6-8 cloves into a rough paste with a pinch of salt—just enough to break the skins but leave texture. Sauté them until they’re golden, not crispy, or they’ll turn bitter. (Yes, even if you’re impatient like me.)
  • Bloom Spices in Oil First: Skip adding spices directly to tomatoes or coconut milk—they’ll just cook bland. Heat 1 tablespoon of oil (or ghee, if you’re fancy) until shimmering, then add whole spices (cumin, coriander, turmeric) and toast for 30 seconds. This unlocks their aroma and prevents a metallic aftertaste.
  • Simmer Coconut Milk Separately: After adding coconut milk, resist the urge to dump it all in at once. Heat ½ cup in a separate pan until tiny bubbles form at the edges—this prevents curdling when mixed with the acidity of tomatoes. Stir it into the curry last, and your sauce will stay silky, not split.

Perfect pairings for these flavors

Rice Pairing Perfection

Steamed jasmine rice is my go-to pairing—its delicate floral notes complement the earthy spices without overpowering them. Use a 1:1.5 rice-to-curry ratio (about 1.5 cups uncooked rice per batch) and cook it in broth instead of water for extra flavor.

For a restaurant-style touch, toast the rice in a dry pan for 2 minutes before steaming to enhance its nutty aroma. 🌾

For a heartier option, try brown basmati rice—it holds up better to the creamy coconut sauce and adds a satisfying chew. Cook it in 1.25 cups water per cup of rice and let it rest covered for 10 minutes after steaming to absorb all that delicious sauce.

I like to fluff it with a fork and mix a spoonful of the curry into the rice before serving.

Bread Companions

Warm naan bread is a must—its pillowy texture soaks up the sauce beautifully. Brush it with garlic butter before serving to add another layer of flavor. For a quicker option, roti or paratha work perfectly, especially if you want to make this a meal-prep-friendly dish.

I often toast my naan on the stovetop for 30 seconds per side to keep it soft but sturdy enough to hold the curry.

For a gluten-free alternative, cauliflower rice is surprisingly good—it absorbs the sauce like a sponge. Just sauté it in 1 tablespoon oil with a pinch of salt for 3-4 minutes until tender. Serve it alongside the curry for a lighter option that still delivers on flavor. 🥖

Yogurt Balance

A dollop of plain Greek yogurt cuts through the richness of the coconut milk beautifully. Mix it with a pinch of salt and roasted cumin for extra depth. I like to serve it in a small bowl on the side so everyone can add as much as they like.

For a tangier option, stir 1 tablespoon lemon juice and ½ teaspoon chaat masala into the yogurt before serving.

For a cooling contrast, try raita—blend ½ cup yogurt with ¼ cup cucumber, 1 tbsp mint leaves, and a pinch of black salt (kala namak). This refreshing side balances the heat and adds a crisp, cooling element to each bite. 🥛

Drink Pairings

A masala chai is the ultimate pairing—its warm spices and creamy texture mirror the flavors in the curry. Brew 2 black tea bags with 1 cup milk, 1 cup water, and a pinch of cardamom and cinnamon.

For a non-alcoholic option, mango lassi adds a sweet, creamy contrast that cleanses the palate between bites.

If you're serving this with wine, a dry Riesling or Gewürztraminer works surprisingly well. The slight sweetness and acidity in these wines complement the coconut and spices without overpowering them. For beer lovers, a light lager like Heineken or Corona keeps the meal refreshing and easy to enjoy. 🍷

Nutrition facts

Servings 4
Amount Per Serving
Calories 380kcal
% Daily Value *
Total Fat 22g28%
Saturated Fat 18g90%
Cholesterol 0mg0%
Sodium 520mg23%
Total Carbohydrate 35g12%
Dietary Fiber 10g36%
Sugars 8g
Protein 14g28%
* 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 dried chickpeas instead of canned?

If using dried chickpeas, soak them overnight in plenty of water (at least 8 hours) then drain and rinse. Cook them in fresh water with a pinch of salt until tender (45-60 minutes), adding them to the curry at the same time as the canned version. This adds a nutty depth to the dish that canned chickpeas sometimes miss.

2

How can I adjust the spice level?

Start by reducing the chili powder to ¼ teaspoon for mild heat, or omit it entirely. For extra kick, add ½ teaspoon cayenne pepper or 1-2 fresh green chilies (seeds removed for less heat). Remember, simmering mellows the spices, so taste before serving and adjust with more chili powder if needed.

3

What if my curry tastes too thick or too thin?

For a thicker sauce, simmer uncovered for 5-10 extra minutes to reduce the liquid. If it's too thin, mix 1 tablespoon cornstarch with 2 tablespoons water, stir into the curry, and simmer for 2 minutes until thickened. Never add flour directly as it can make the curry taste bitter.

4

Can I make this curry in a slow cooker?

Yes! Sauté the onions, garlic, ginger, and spices as directed, then transfer everything to a 3-4 quart slow cooker. Cook on low for 4-5 hours or high for 2-3 hours, stirring occasionally. The slow cooking enhances the flavors beautifully, making it perfect for hands-off meal prep.

5

What other beans work well in this recipe?

Black-eyed peas or kidney beans add great texture and flavor. For a South Indian twist, use toor dal (split pigeon peas)—cook it until soft before adding to the curry. Just ensure beans are fully cooked before mixing, as they'll continue cooking in the sauce.

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