Rajma (राजमा) — Indian Kidney Bean Curry in Tomato-Onion Gravy
Rajma is a beloved North Indian kidney bean curry simmered in a tomato-onion masala and finished with warming spices. Often served with steamed rice, it’s a comforting, everyday staple with Punjabi home-kitchen roots.

Printable Recipe Card
Servings: 4 · Total: 80 min · Difficulty: medium
Ingredients (quick list)
- 250 g dried kidney beans (soak 10–12 hours, then drain)
- 1200 ml water (for pressure cooking)
- 1 leaf bay leaf (optional but traditional)
- 7 g fine salt (about 1 1/4 tsp, for cooking beans)
- 30 ml neutral oil (such as sunflower or canola)
- 2 tsp cumin seeds
- 250 g onion (finely chopped)
- 15 g ginger (grated)
- 18 g garlic (minced (about 6 cloves))
- 1 green chili (finely chopped (about 8–10 g))
- 350 g tomatoes (finely chopped or crushed)
- 1 tbsp tomato paste (adds depth and color)
+ 9 more in the full ingredients section below.
Steps (summary)
- Soak the dried kidney beans in plenty of water for 10–12 hours, then drain and rinse them well. This soaking step helps the bea…
- Add the soaked beans to a pressure cooker with 1200 ml water, bay leaf, and 7 g salt. Pressure cook until the beans are very te…
- While the beans cook, start the masala: heat the oil in a heavy pot over medium heat and add cumin seeds. Let them sizzle for 2…
- Add the chopped onions and cook for 10–12 minutes, stirring often, until deep golden and sweet. If the onions start sticking, a…
- Stir in ginger, garlic, and green chili and cook for 60–90 seconds until the raw smell disappears. Keep the heat medium so the…
- Add tomatoes and tomato paste, then cook 8–10 minutes until the mixture thickens and the oil begins to separate at the edges. T…
+ 4 more steps in the full instructions section below.
Cultural Background
Rajma is an iconic North Indian comfort curry, especially associated with Punjabi home cooking and the classic pairing of rajma-chawal. Its slow-simmered masala and creamy beans reflect everyday, nourishing meals served family-style.
Equipment
💡 Tips
- For the creamiest texture, cook the beans until they are mashable; undercooked rajma will taste chalky even in a good masala.
- A longer simmer (20–25 minutes) after combining beans and masala is essential; it helps the gravy cling to the beans instead of separating.
- If the curry tastes sharp, simmer 5 extra minutes and add 5 g butter; it softens tomato acidity without adding sweetness.
⚠️ Common Mistakes
❌ Beans remain firm or gritty after cooking.
✅ Fix: Soak 10–12 hours and pressure cook longer with enough water; the beans must be fully tender before adding to the masala.
❌ Gravy tastes raw or overly acidic.
✅ Fix: Cook the tomatoes until oil separates and the masala darkens slightly; then simmer the finished curry longer to mellow acidity.
❌ Spices taste burnt and bitter.
✅ Fix: Add ground spices on low heat and splash in 30 ml water immediately if the pan looks dry; never fry powdered spices in a dry pan.
🧊 How to Store
Cool rajma to room temperature within 2 hours, then refrigerate in an airtight container for up to 4 days. Reheat gently with 60–120 ml water, stirring often, because the beans absorb liquid and the gravy thickens as it sits.
📅 Make Ahead
Cook the beans and make the tomato-onion masala up to 2 days ahead and refrigerate separately. Combine and simmer for 25–30 minutes before serving; the flavor improves after resting overnight.
🍽️ Pairs Well With
- Jeera rice
- steamed basmati rice
- roti
- sliced onion salad
- mango pickle
- plain yogurt.
Regional Variations
- Punjabi-style rajma: deeper onion browning, a touch of butter, and a longer final simmer for a thicker, clingy gravy.
- Himachali-style rajma: often made with smaller local kidney beans and a simpler spice profile, highlighting the bean’s natural sweetness.
- Dhaba-style rajma: more oil or ghee and a stronger garam masala finish, sometimes with extra crushed fenugreek leaves.
Ingredients
- 250 gdried kidney beans (soak 10–12 hours, then drain)
- 1200 mlwater (for pressure cooking)
- 1 leafbay leaf (optional but traditional)
- 7 gfine salt (about 1 1/4 tsp, for cooking beans)
- 30 mlneutral oil (such as sunflower or canola)
- 2 tspcumin seeds
- 250 gonion (finely chopped)
- 15 gginger (grated)
- 18 ggarlic (minced (about 6 cloves))
- 1green chili (finely chopped (about 8–10 g))
- 350 gtomatoes (finely chopped or crushed)
- 1 tbsptomato paste (adds depth and color)
- 2 tspground coriander
- 1 tspKashmiri red chili powder (mild heat, bright color)
- 0.5 tspturmeric powder
- 1.5 tspgaram masala (add toward the end for aroma)
- 1 tspground cumin
- 1 tspdried fenugreek leaves (crushed between palms)
- 10 gunsalted butter (optional, for restaurant-style richness)
- 15 gfresh cilantro (chopped)
- 15 mllemon juice (about 1 tbsp)
🔄 Substitutions
- dried kidney beans→ canned kidney beans (2 x 400 g cans, drained and rinsed)
- neutral oil→ ghee (30 g)
- Kashmiri red chili powder→ sweet paprika (1 tsp) + cayenne (0.25 tsp)
Instructions
- 1
Soak the dried kidney beans in plenty of water for 10–12 hours, then drain and rinse them well. This soaking step helps the beans cook evenly and improves digestibility, which is important for a smooth, creamy rajma.
- 2
Add the soaked beans to a pressure cooker with 1200 ml water, bay leaf, and 7 g salt. Pressure cook until the beans are very tender and can be mashed easily between your fingers, about 20–25 minutes at pressure (or 10–12 whistles depending on your cooker), then let pressure release naturally.
- 3
While the beans cook, start the masala: heat the oil in a heavy pot over medium heat and add cumin seeds. Let them sizzle for 20–30 seconds until fragrant, because this blooming step builds the curry’s base aroma.
- 4
Add the chopped onions and cook for 10–12 minutes, stirring often, until deep golden and sweet. If the onions start sticking, add 15–30 ml water and scrape the browned bits, since that caramelization is key to authentic flavor.
- 5
Stir in ginger, garlic, and green chili and cook for 60–90 seconds until the raw smell disappears. Keep the heat medium so the aromatics toast gently rather than burn, which can make the gravy bitter.
- 6
Add tomatoes and tomato paste, then cook 8–10 minutes until the mixture thickens and the oil begins to separate at the edges. This ‘bhunao’ stage concentrates the tomato-onion gravy and prevents a flat, watery rajma.
- 7
Lower the heat and add ground coriander, Kashmiri chili powder, turmeric, and ground cumin, stirring for 20–30 seconds. Add a small splash of water (about 30 ml) if needed to keep the spices from scorching, because burnt spices will overpower the beans.
- 8
Add the cooked kidney beans along with about 400 ml of their cooking liquid, then add the remaining 300 ml water to reach your preferred gravy thickness. Bring to a gentle boil, then simmer uncovered for 20–25 minutes, stirring occasionally, so the beans absorb the masala and the gravy turns creamy.
- 9
Mash about 60 g of beans directly in the pot to naturally thicken the curry without flour or cream. Taste and add the remaining 3 g salt if needed, then simmer 3 more minutes to fully dissolve and balance the seasoning.
- 10
Turn off the heat and stir in garam masala and crushed dried fenugreek leaves, then add butter if using. Finish with lemon juice and cilantro, and rest the rajma covered for 10 minutes so the flavors round out before serving.
🪪 Recipe Passport
Cultural Background
Rajma is an iconic North Indian comfort curry, especially associated with Punjabi home cooking and the classic pairing of rajma-chawal. Its slow-simmered masala and creamy beans reflect everyday, nourishing meals served family-style.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Undhiyu (ઉંધિયું) — Indian Winter Mixed-Vegetable Curry with Methi Muthia
Indian · Main Courses · 120 min

Kothimbir Vadi (कोथिंबीर वडी) — Steamed coriander-gram cakes, pan-fried crisp
Indian · Appetizers · 50 min

Misal Pav (मिसळ पाव) — Spicy sprouted moth bean curry with farsan
Indian · Main Courses · 70 min

Cameroonian Ndolé (Ndolé) — Bitterleaf Peanut Stew with Beef and Seafood
West african · Stews · 140 min

Icelandic Fish Stew (Plokkfiskur) — Creamy Cod and Potato Mash
Icelandic · Stews · 55 min

Lawang (لاونگ) — Afghan Stuffed Chicken with Raisins, Nuts, and Warm Spices
Afghan · Main Courses · 120 min

Panta Bhat (পান্তা ভাত) — Overnight Fermented Rice with Fried Ilish
Bangladeshi · Rice Dishes · 35 min

Malaysian Coconut Rice (Nasi Lemak) — Banana-Leaf Breakfast with Sambal Ikan Bilis
Malaysian · Rice Dishes · 95 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.