Indian Bean Stew with Tomato and Spinach

Updated November 3, 2026

Total time
55 min
prep 18 min · cook 37 min
Serves
4
portions as written
Safe temperature (USDA)
165°F / 74°C
check the thickest piece

Jump to recipe

Indian Bean Stew with Tomato and Spinach

Indian bean stew is a hearty, Indian-inspired one-pot dish of kidney beans and chickpeas simmered with tomatoes, warming spices, and coconut milk, then finished with spinach and lime. It borrows familiar masala flavors without claiming to represent one traditional regional recipe, and canned beans make it a practical weeknight meal that still tastes rounded and deeply savory.

Ingredients

  • 2 tablespoons (30 ml) neutral oil, such as canola or sunflower
  • 1 medium yellow onion, finely chopped (about 180 g)
  • 4 garlic cloves, minced (about 12 g)
  • 1 tablespoon (15 g) finely grated fresh ginger
  • 1 teaspoon (2 g) ground cumin
  • 1 teaspoon (2 g) ground coriander
  • 1 teaspoon (2 g) garam masala
  • ½ teaspoon (1 g) ground turmeric
  • ¼ teaspoon (0.5 g) cayenne pepper, or less to taste
  • 1 can diced tomatoes, 14.5 ounces (411 g), with juices
  • 1 can kidney beans, 15 ounces (425 g), drained and rinsed
  • 1 can chickpeas, 15 ounces (425 g), drained and rinsed
  • 1½ cups (360 ml) low-sodium vegetable broth or water
  • 1 cup (240 ml) canned coconut milk, well stirred
  • 5 ounces (140 g) baby spinach
  • 1 teaspoon (6 g) fine salt, plus more to taste
  • ¼ teaspoon (0.5 g) black pepper
  • 1 tablespoon (15 ml) fresh lime juice, plus lime wedges to serve
  • ¼ cup (10 g) chopped fresh cilantro, optional

Instructions

  1. Prepare the ingredients. Drain and rinse both cans of beans in a colander, chop the onion, and mince the garlic and ginger. Measure the spices before you start cooking; once the aromatics are in the pan, the next steps move quickly. Stir the coconut milk in its can or carton so the thick cream and liquid are evenly combined.
  2. Soften the onion. Set a heavy, medium-large pot or Dutch oven over medium heat and add the oil. When it shimmers, add the onion and cook for 8 minutes, stirring every so often. It should become soft and translucent with a little golden color at the edges, not dark brown. If it begins to catch before softening, lower the heat and add a teaspoon of water.
  3. Cook the aromatics and spices. Stir in the garlic and ginger and cook for 1 minute, stirring continuously so the garlic does not scorch. Add the cumin, coriander, garam masala, turmeric, and cayenne. Stir for about 30 seconds, just until fragrant. Spices can turn bitter if left dry in a hot pan, so move promptly to the tomatoes.
  4. Make the tomato base. Pour in the diced tomatoes with their juices. Scrape the bottom of the pot to loosen any browned onion or spice bits, then stir in the salt and black pepper. Cook for 7 minutes, stirring occasionally, until the tomatoes soften and the mixture looks thicker and less watery. This brief reduction concentrates the tomato flavor and gives the broth a fuller base.
  5. Simmer the beans. Add the kidney beans, chickpeas, and vegetable broth. Stir well and bring the pot to a gentle simmer, then reduce the heat to medium-low. Simmer uncovered for 15 minutes, stirring a few times. Keep the surface bubbling gently rather than boiling hard. For a thicker stew, press a few beans against the side of the pot with the back of a spoon and stir them in; leave most of the beans whole for texture.
  6. Finish with coconut milk and spinach. Stir in the coconut milk and simmer for 2 minutes. Add the spinach in handfuls, stirring until it wilts, then cook for 3 minutes more. The finished stew should be creamy but still spoonable; if it is thicker than you like, add a splash of broth or water. Take the pot off the heat and stir in the lime juice. Taste and adjust the salt, pepper, cayenne, or lime before serving.
  7. Serve. Ladle the hot stew into bowls and scatter with cilantro if using. Offer lime wedges at the table so each person can add a little more acidity. If the stew sits while you prepare sides, stir it before serving; beans settle toward the bottom and the sauce thickens as it cools.

Tips

  • Rinse the canned beans. Draining and rinsing removes much of the packing liquid and excess surface starch, helping the finished sauce taste cleaner. If you prefer a thicker, more rustic stew, mash a few beans after simmering rather than adding flour or another thickener.
  • Keep the heat gentle. Once the broth is added, a hard boil can split the beans and reduce the liquid too quickly. A quiet simmer gives the spices time to flavor the beans while keeping them mostly intact. If the pot starts to look dry, stir in broth or water a few tablespoons at a time.
  • Adjust the heat carefully. Cayenne varies in strength, and garam masala blends vary too. Start with the listed cayenne or use half as much, then taste near the end. More can be stirred in; it is much harder to correct a stew that has become too spicy.
  • Choose coconut milk to suit the result. Full-fat canned coconut milk makes the stew silkier and richer, while light coconut milk gives a thinner, less creamy sauce. If coconut is unsuitable, use an equal amount of unsweetened oat cream or add extra broth; the flavor will be less coconut-forward and the stew a little lighter.

Serving Suggestions

Serve the stew over steamed basmati rice to soak up the tomato-coconut sauce, or spoon it alongside warm roti, naan, or another flatbread. For a lighter bowl, serve it on its own with a small side of cucumber, sliced red onion, or a crisp green salad. A spoonful of plain yogurt adds a cool contrast to the spices; use a dairy-free yogurt if you want to keep the meal vegan. Set lime wedges and extra cilantro on the table so diners can brighten their own portions.

If serving rice, begin cooking it while the stew simmers so both are ready together. The stew is filling enough to serve as the main dish, but it also works as one part of a larger meal with a vegetable side. If you are cooking for different appetites, keep extra cayenne or chili sauce on the table rather than making the whole pot hotter.

Variations

Use one kind of bean. Replace the kidney beans and chickpeas with two drained and rinsed cans of butter beans, black beans, or more chickpeas, keeping the total amount about the same. Butter beans make the sauce especially creamy, while black beans bring a more earthy flavor. The recipe is flexible, but the result is an Indian-inspired stew rather than a claim to a single regional bean preparation.

Add vegetables. Stir in 1 cup (about 130 g) diced carrot with the onion and allow it to soften, or add 1 cup (150 g) diced zucchini with the beans. For frozen peas, add 1 cup (145 g) during the final 5 minutes. These additions change the texture and may make the pot thicker, so add a little extra broth if needed.

Make it tangier or less rich. Add another teaspoon of lime juice at the end for a brighter finish, or replace half the coconut milk with broth for a less creamy stew. A pinch of amchur, a tangy dried mango powder used in some Indian cooking, can replace some of the lime juice; it is less common in many supermarkets, so lime is a practical substitute, with a fresher citrus flavor.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking in a shallow, airtight container. The stew keeps for 3 to 4 days in the refrigerator. It thickens as it chills, so loosen it with a splash of water or broth when reheating. Warm a portion in a saucepan over medium-low heat, stirring regularly, until steaming throughout; for food safety, USDA FSIS guidance is to reheat leftovers to 165°F (74°C), checked with a food thermometer. A microwave also works: cover loosely, heat in short intervals, and stir between intervals so the center heats evenly.

For longer storage, freeze the cooled stew in meal-size airtight containers for up to 3 months for best quality. Leave a little space at the top because liquid expands as it freezes. Thaw overnight in the refrigerator, then reheat as above. The spinach will be softer after freezing, but the beans and sauce hold up well. Do not leave the pot at room temperature to cool for several hours; divide a large batch into smaller containers so it chills more quickly.

Frequently Asked Questions

Can I make Indian bean stew ahead of time?
Yes. Make it up to 3 days ahead and refrigerate it promptly. The spices settle into the beans as it rests, and the sauce may thicken, so stir in a little water or broth while reheating and adjust the lime and salt just before serving.

Can I use dried beans instead of canned?
Yes, but cook them fully before adding them to the stew; the recipe’s simmering time is intended for already-cooked beans. Follow the package directions for soaking and cooking, and do not rely on this stew’s short simmer to cook dry kidney beans. Properly cooked dried beans can replace the two cans, using roughly 3 cups (about 510 g) cooked beans in total.

Is this stew very spicy?
As written, it is mildly warm rather than very hot. Garam masala is aromatic, not necessarily chili-hot, and the cayenne is the main source of heat. Leave it out for a mild version or offer chili separately for people who want more.

Can I make it without coconut milk?
Yes. Replace the coconut milk with 1 cup (240 ml) more broth for a tomato-forward, thinner stew, or use unsweetened oat cream for a similarly smooth texture. Avoid sweetened plant milk, which can make the savory sauce taste unexpectedly sweet.

Why does my stew look thin?
It may need a few more minutes uncovered at a gentle simmer, or some of the beans may be especially firm. Mash several beans into the sauce and simmer briefly, stirring so nothing sticks. Remember that the stew thickens as it cools, so do not reduce it too far if you plan to serve it after a short wait.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).