Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 tbsp neutral oil or ghee
- 1 tsp cumin seeds, 1 bay leaf, 1 small cinnamon stick
- 1 medium onion, finely chopped (about 1 cup)
- 1 tbsp grated ginger + 1 tbsp minced garlic
- 1–2 green chilies, slit (optional)
- 2 tsp ground coriander, 1 tsp ground cumin, 1/2 tsp turmeric
- 1 1/2 tsp Kashmiri chili powder (or 3/4 tsp regular chili powder)
- 1 can (14.5 oz/400 g) crushed tomatoes
- 2 cans kidney beans (15 oz/425 g each), drained and rinsed
- 2 cups water or low-sodium stock, 1 tsp garam masala, 1 tsp crushed kasuri methi
- 1 tbsp butter or ghee (finish), salt to taste
- 1 1/2 cups basmati rice, 2 1/4 cups water, 1/2 tsp salt
- For serving: sliced onions, cilantro, lime wedges
Do This
- 1. Rinse rice until water runs clear; soak 20 minutes. Drain.
- 2. Heat oil; bloom cumin seeds, bay leaf, cinnamon 30 seconds. Add onion; cook on medium 8–10 minutes until golden.
- 3. Stir in ginger, garlic, and green chili 1 minute. Add ground spices and 1/4 tsp salt; cook 30 seconds.
- 4. Add tomatoes; cook, stirring, 8–10 minutes until thick and glossy and oil separates.
- 5. Add kidney beans, 2 cups water, 3/4 tsp salt; simmer 20 minutes. Lightly mash some beans to thicken.
- 6. While curry simmers, cook rice: bring rice, 2 1/4 cups water, and 1/2 tsp salt to a boil; cover and simmer on low 12 minutes, then rest 10 minutes and fluff.
- 7. Finish curry with garam masala, kasuri methi, and butter/ghee; adjust salt. Serve over rice with onions, cilantro, and lime.
Why You’ll Love This Recipe
- Classic North Indian comfort: creamy, gently spiced kidney beans over fluffy basmati.
- Weeknight-friendly with canned beans; special-occasion depth from a slow-simmered masala.
- Balanced heat and aroma from cumin, coriander, and Kashmiri chili for vibrant color without overpowering spice.
- Make-ahead friendly and even better the next day.
Grocery List
- Produce: 1 onion, fresh ginger, garlic, 1–2 green chilies, cilantro, 1 lime
- Dairy: Ghee or unsalted butter (optional finish)
- Pantry: Kidney beans, basmati rice, canned crushed tomatoes, neutral oil, cumin seeds, bay leaf, cinnamon stick, ground coriander, ground cumin, turmeric, Kashmiri chili powder, garam masala, kasuri methi, salt
Full Ingredients
Rajma (Kidney Bean Curry)
- 2 tbsp neutral oil or ghee (30 ml)
- 1 tsp cumin seeds (2 g)
- 1 bay leaf
- 1 small cinnamon stick (about 1 inch/2.5 cm)
- 1 medium yellow onion, finely chopped (about 1 cup/150–170 g)
- 1 tbsp freshly grated ginger (10 g)
- 1 tbsp minced garlic (12 g)
- 1–2 green chilies, slit lengthwise (optional)
- 2 tsp ground coriander (5 g)
- 1 tsp ground cumin (2 g)
- 1/2 tsp ground turmeric (1 g)
- 1 1/2 tsp Kashmiri chili powder (3 g) or 3/4 tsp regular chili powder
- 1 can (14.5 oz/400 g) crushed tomatoes (or tomato puree)
- 2 cans kidney beans (15 oz/425 g each), drained and rinsed (about 500 g drained)
- 2 cups water or low-sodium vegetable stock (480 ml), plus more as needed
- 1 tsp garam masala
- 1 tsp kasuri methi, crushed between fingers
- 1 tbsp ghee or unsalted butter, for finishing (optional)
- 1–1 1/4 tsp fine salt, to taste
Steamed Basmati Rice
- 1 1/2 cups basmati rice (285 g)
- 2 1/4 cups water (540 ml)
- 1/2 tsp fine salt
- 1 tsp neutral oil or ghee (optional, for separate grains)
For Serving
- 1 small red onion, thinly sliced into rings
- 2–3 tbsp fresh cilantro leaves, roughly torn
- 1 lime, cut into wedges

Step-by-Step Instructions
Step 1: Rinse and soak the rice
Place the basmati rice in a bowl and rinse under cold water, swishing with your fingers, until the water runs almost clear (3–4 rinses). Cover with fresh water and soak for 20 minutes. Drain well just before cooking.
Step 2: Bloom whole spices and brown the onions
Heat 2 tbsp oil or ghee in a heavy pot over medium heat. Add cumin seeds, bay leaf, and cinnamon; fry until fragrant and sizzling, 30–45 seconds. Add the chopped onion and a pinch of salt. Cook, stirring occasionally, until deep golden brown at the edges, 8–10 minutes. If browning too quickly, lower the heat and add a splash of water to deglaze.
Step 3: Add aromatics and powdered spices
Stir in ginger, garlic, and green chili; cook until raw smell fades, about 60 seconds. Sprinkle in ground coriander, ground cumin, turmeric, and Kashmiri chili powder with 1/4 tsp salt. Stir constantly for 30 seconds to bloom the spices without burning.
Step 4: Build the tomato base
Add the crushed tomatoes. Cook on medium heat, stirring frequently, until the masala thickens, darkens slightly, and you see tiny droplets of oil releasing at the edges, 8–10 minutes. This step concentrates flavor and removes raw tomato taste.
Step 5: Simmer the rajma until velvety
Add the drained kidney beans and 2 cups water or stock. Bring to a boil, then reduce to a gentle simmer. Season with 1/2–3/4 tsp salt to start. Simmer uncovered for 20 minutes, stirring occasionally. For a creamier texture, use a spoon or potato masher to mash 1/2 cup of beans into the sauce, then simmer 5 more minutes to thicken. Add more hot water in small splashes if it gets too thick.
Step 6: Cook the basmati rice
While the curry simmers, combine the soaked, drained rice with 2 1/4 cups water, 1/2 tsp salt, and 1 tsp oil or ghee in a saucepan. Bring to a full boil over medium-high heat. Reduce to low, cover tightly, and cook for 12 minutes. Remove from heat and rest, covered, for 10 minutes. Fluff with a fork.
Step 7: Finish and serve
Stir garam masala and crushed kasuri methi into the curry. Add 1 tbsp ghee or butter, if using. Taste and adjust salt. The gravy should be shiny, thick, and scoopable. Spoon rajma over mounds of steamed basmati. Top with onion rings, cilantro, and a generous squeeze of lime.
Pro Tips
- Use Kashmiri chili powder for a brilliant red hue with moderate heat; adjust to taste if using regular chili powder.
- Mash a small portion of beans into the sauce to create a naturally creamy, velvety texture without cream.
- Cook the tomato masala until oil separates; it’s the secret to a deep, rounded flavor.
- Kasuri methi adds signature North Indian aroma; rub it between your palms before adding to release oils.
- For fluffier rice, do not skip the 10-minute rest before fluffing.
Variations
- Dried Beans, Pressure Cooker: Soak 1 cup (200 g) dried kidney beans 8–12 hours. Pressure cook with 3 cups water, 1/2 tsp salt, and 1/8 tsp baking soda for 25–30 minutes at high pressure (natural release). Use in Step 5 with 1–1 1/2 cups cooking liquid instead of water.
- Dhaba-Style Rich Rajma: Add 1 extra tbsp ghee, a black cardamom pod with the whole spices, and finish with 2 tbsp cream for a luxe, roadside eatery vibe.
- Vegan: Use oil and skip the butter/ghee finish; the curry remains naturally creamy from the beans.
Storage & Make-Ahead
Refrigerate the rajma in an airtight container for up to 4 days; rice keeps 3–4 days. Reheat gently on the stovetop with a splash of water. Freeze the curry (not the rice) for up to 3 months; thaw overnight in the fridge and reheat. The flavors deepen on day two, making this an excellent make-ahead meal.
Nutrition (per serving)
Approximate values for 1/4 of the curry plus 1 cup cooked rice: 520 calories; 85 g carbs; 18 g protein; 12 g fat; 13 g fiber; 770 mg sodium. Values will vary with salt and fat choices.

