Bean SidesIndianMedium

Punjabi Rajma Masala

Tender kidney beans simmered in a thick, glossy onion-tomato gravy scented with fresh ginger, garlic and garam masala. It's the classic North Indian comfort dish, and it's best spooned over steamed rice.

Prep
23 min
Cook
2 hr 4 min
Wait
8 hr 10 min
Total
10 hr 37 min
Makes
About 6 cups (1.4 kg), enough for 6 servings with rice
Share

Steps

Before you start
  • Start the soak the night before, or at least 8 hours ahead. Most of the 10+ hours is hands-off.
  • Dried kidney beans contain a natural toxin that only a hard, rolling boil destroys. Don't skip the 10-minute boil in step 2, and don't cook the beans in a slow cooker without boiling them first.
  • Use a heavy 4-quart (4 L) pot or Dutch oven with a lid. It holds the beans and gives the gravy room to simmer.
  • Prep the masala ingredients (step 4) while the beans simmer, so everything is ready before you start the gravy.
  1. Soak the beans

    • Pick through the kidney beans and discard any stones or shriveled beans.
    • Rinse them under cold running water, then place them in a large bowl with the 6 cups (1500 ml) cold soaking water.
    • Let them soak at room temperature for 8 to 12 hours.
    + Show details

    Ready when: Beans are plump, about double in size, and no longer wrinkled; one cut in half is uniformly colored with no hard white core

    Tip: In hot weather, soak in the fridge so the beans don't start to ferment.

  2. Boil beans hard

    • Drain the soaked beans and discard the soaking water.
    • Rinse them well and put them in the pot with the 5 cups (1200 ml) cooking water, bay leaf, cinnamon stick and black cardamom, if using.
    • Bring to a full rolling boil over high heat (about 10 to 15 minutes), then boil hard for a full 10 minutes.
    + Show details

    Ready when: Large bubbles break continuously across the whole surface for 10 minutes

    Tip: Skim off any gray foam with a spoon so the cooking liquid stays clean-tasting.

  3. Simmer until tender

    • Reduce the heat to medium-low so the water bubbles gently.
    • Partially cover the pot and simmer, checking every 20 minutes and adding hot water if the beans are no longer covered by at least 1 inch (2.5 cm).
    • Plan on about 65 to 75 minutes total for this simmer, and use the time for step 4.
    • After about 60 minutes, taste a bean.
    + Show details

    Ready when: A bean mashes easily when pressed between your fingers and tastes creamy all the way through, with no chalky center

    Tip: Don't add salt yet. Salt at this stage can keep the bean skins tough.

  4. Prep the masala base

    • While the beans simmer, finely chop the onions, grate the ginger, mince the garlic and slit the green chilies.
    • Core the tomatoes and blend them to a smooth puree (about 2 cups / 480 ml).
    • Measure the turmeric, chili powder, ground coriander and ground cumin into one small bowl so they can go into the pan together.
    + Show details

    Ready when: Onions are in small, even pieces about ¼ inch (6 mm) and the tomato puree is smooth

    Tip: Finely chopped onion melts into the gravy. Large pieces leave it chunky and less silky.

  5. Brown the onions

    • When the beans are nearly tender, set a large, wide skillet or second pot over medium heat and add the ghee.
    • When it shimmers, add the cumin seeds and let them sizzle for 30 seconds.
    • Add the onions and a pinch of the salt.
    • Cook for 10 to 12 minutes, stirring every minute or so, until the onions are deep golden brown.
    + Show details

    Ready when: Onions are a uniform deep golden brown, soft, and smell sweet and toasty, not sharp

    Tip: If the onions brown unevenly or start to scorch, lower the heat and add 1 tablespoon of water.

  6. Add ginger and garlic

    • Add the grated ginger, minced garlic and slit green chilies to the browned onions.
    • Stir constantly for 1 to 2 minutes.
    + Show details

    Ready when: The raw garlic smell is gone and the mixture smells fragrant, with the garlic just turning pale gold

    Tip: Don't let the garlic brown; browned garlic turns bitter.

  7. Cook the tomato masala

    • Stir in the bowl of ground spices and cook for 20 seconds.
    • Pour in the tomato puree right away, scraping up anything stuck to the pan.
    • Cook for 10 to 12 minutes, stirring often, until the puree thickens to a jammy paste.
    + Show details

    Ready when: The paste is thick and deep red, and shiny ghee separates and pools at the edges

    Tip: If the paste sticks or splatters, lower the heat slightly and stir more often. Rushing this step leaves a raw, sour tomato taste.

  8. Simmer beans in masala

    • Using a slotted spoon, lift the beans out of their pot and add them to the masala (discard the bay leaf, cinnamon and cardamom).
    • Ladle in 1 cup (250 ml) of the bean cooking liquid and save the rest.
    • Add the remaining salt and 1 teaspoon of the garam masala.
    • Mash about ¼ cup of the beans against the side of the pan to thicken the gravy.
    • Simmer gently, partially covered, for 20 to 25 minutes, stirring now and then, adding splashes of the reserved bean liquid if it gets too thick.
    + Show details

    Ready when: The gravy is thick, glossy and clings to the beans like a loose stew, not watery

    Tip: Taste and adjust the salt now; beans need more than you'd expect.

  9. Finish and rest

    • Turn off the heat.
    • Stir in the remaining ½ teaspoon garam masala, the crushed kasuri methi and the cream or butter, if using.
    • Fold in half the cilantro.
    • Cover and let the rajma rest for 10 minutes, then top with the remaining cilantro and serve hot with steamed basmati rice or roti.
    + Show details

    Ready when: The gravy is rich, creamy and fragrant, and coats the back of a spoon

    Tip: Adding the finishing garam masala off the heat keeps its aroma bright.

Good to know

Tips
  • For the creamiest gravy, mash a few spoonfuls of beans against the pot. Their starch thickens the sauce without flour or cream.
  • Old dried beans take much longer to soften. If yours are still firm after 90 minutes, keep simmering and add hot water as needed.
  • Don't add acidic tomatoes to the beans before they are tender; the acid can keep them firm.
  • A pressure cooker works well too: after the 10-minute boil, cook the beans under high pressure for about 25 minutes, then release the pressure naturally.
Make ahead

"Rajma tastes even better the next day. Soak and cook the beans up to 2 days ahead and refrigerate them in their cooking liquid, or make the whole dish up to 3 days ahead and reheat gently."

Storage & reheating

"Room temperature: up to 2 hours. Refrigerator: airtight container for up to 4 days. Freezer: up to 3 months in freezer-safe containers, leaving ½ inch (1 cm) headspace. Reheat in a pot over medium-low heat with a splash of water, stirring often, until steaming hot throughout; thaw frozen rajma overnight in the fridge first."

Substitutions
  • dried red kidney beans (rajma) → Canned kidney beans, 3 cans (15 oz / 425 g each), drained and rinsed. Skip steps 1 to 3 and use 1½ cups (350 ml) water in step 8 instead of bean liquid. Simmer for 15 minutes.
  • ghee or neutral oil → Avocado or sunflower oil. Makes the dish vegan with the cream left out; you lose a little of the nutty flavor.
  • heavy cream or unsalted butter → Coconut cream or cashew paste. Use 3 tablespoons (45 ml) for a dairy-free richness.
  • Kashmiri red chili powder → Sweet paprika with a pinch of cayenne. Use 1 teaspoon paprika and ⅛ teaspoon cayenne if you can't find Kashmiri chili for color and mild heat.

Reviews (0)