This Rajma recipe is a lightly spiced, creamy and delicious Punjabi curry made with kidney beans, onions, tomatoes and spices. My Mom’s recipe for restaurant-style Punjabi Rajma Masala is a staple in our home, and after you try it I’ll bet it becomes one at yours, too.
What is Rajma
Rajma is the Hindi word for kidney beans. However, this delicious vegetarian curry is so popular that the recipe has become synonymous with the bean. Both the beans themselves and this dish that features them are known as Rajma.
Another name for this yummy and satisfying dish is Rajma Masala, which translates to “red kidney beans in spiced gravy.” Whatever you call it, you’re sure to love these melt-in-your-mouth rajma beans and the creamy spiced gravy that accompanies them.
Why This Recipe Works
This rajma recipe follows the traditional (and the most common method) of making rajma curry. So long as you follow the recipe, there’s no chance anything will go wrong with this simple and delectable dish.
In this easy recipe, the kidney beans are cooked first and are later added to a sautéed base of spices, onions and tomatoes. I prefer working with dried rajma beans because they are both cheaper than canned and give me the opportunity to cook and season them to my liking.
Moreover I always prefer and recommend to use fresh ingredients for a healthy living. That said, you can also make this recipe using canned beans as a time saver!
The aromatic and flavorful masala base is cooked down to a beautiful gravy consistency by adding some water, and then is finished off with some cream. Adding cream makes for a truly restaurant-style rajma that is decadent enough for company.
Rajma masala is usually a weekend affair that is perfect for a Sunday lunch at home. In Punjabi homes, they often make rajma chawal, where the flavorful rajma curry is served with steamed rice. (The word chawal means “rice” in Hindi.)
When I make this filling recipe I stay true to the Punjabi style and don’t bother with any other side dishes. When you have rajma (red beans) and rice, do you really need anything else? Aside from some naan to soak up all the extra gravy, nothing!
In fact, serving beans with rice creates a full protein, which can sometimes be difficult to achieve as a vegan. So not only is rajma chawal tasty and inexpensive, it is also quite healthy and wholesome! So now that you know about this traditional Punjabi dish, let’s get to cooking it, shall we?
How to Make Rajma Recipe
My detailed step-by-step process will help you in making the best rajma recipe ever. While I have cooked the beans in a pressure cooker, they can also be easily cooked in a pan or an Instant pot. In the recipe card below, I have listed the steps of cooking the beans using all three methods.
Soaking & cooking rajma
1. Sort dried beans and discard any misshapen or discolored beans. Rinse a couple of times, and then soak 1 cup rajma (kidney beans) in enough water to cover them. Soaking should ideally last for 8 to 9 hours, so I usually soak them the night before I cook.
2. Once the beans are well soaked, discard the soaking water. Drain and rinse the soaked beans a few times to remove any leftover grit, if any.
3. Add the rinsed and drained kidney beans to a 3 litre pressure cooker.
4. Add 3.5 to 4 cups of water and stir. Pressure cook the rajma for 18 to 20 whistles (or for about 15 to 20 minutes). The cook time of your beans will vary depending on their quality and age.
5. While the kidney beans are cooking, chop 1 large onion (¾ to 1 cup finely chopped onion), 2 large tomatoes (1 cup finely chopped tomatoes) and make the crushed ginger+garlic+green chili paste.
For the paste, you need to crush or grind 1 inch ginger, 5 to 6 small garlic cloves (or 3 to 4 medium garlic cloves), and 1 to 2 green chilies to a paste in a mortar-pestle or a small grinder.
6. When the pressure settles down on its own in the cooker, open the lid. Check if the rajma is cooked or not by eating or pressing a bean with your fingers. The cooked beans should not have a bite to them and softened.
The rajma beans should be completely cooked. If they are not cooked completely, then pressure cook again (adding some water if required) for a few more minutes.
Making the masala
7. Heat either 3 tablespoons of butter (or 2 tablespoons butter + 1 tablespoon oil), in another pot or pan or kadai. Keep the heat to low or medium-low.
8. Add ½ teaspoon cumin seeds first and let them crackle and get browned.
9. Then add the finely chopped onions.
10. Stir and begin to sauté them on medium-low to medium heat.
11. Keep on stirring the onions while sautéing them. This will ensure both uniform cooking and also that they don’t get burnt. Take care not to burn the onions, as this will impart bitter tones to the rajma curry.
12. Light browning of the onions is also fine.
13. Sauté the onions till they are caramelized and golden brown.
14. Lower the heat and add the crushed ginger-garlic-chilli paste.
15. Stir and sauté for 5 to 10 seconds on a low heat or until the raw aroma of ginger-garlic goes away.
16. Add the finely chopped tomatoes.
17. Mix very well.
18. Sauté for 2 to 3 minutes until the tomatoes become soft on a medium-low to medium heat.
19. Add all the spice powders one by one:
- ¼ teaspoon turmeric powder
- ½ teaspoon red chilli powder (or cayenne pepper or paprika)
- 1 teaspoon coriander powder
- a pinch of asafoetida (hing)
- ½ teaspoon garam masala powder.
NOTE: If you are gluten free, be sure to source certified gluten free asafoetida, as many commercial brands process the spice with wheat.
20. Mix again very well.
21. Continue to sauté the whole masala base until the fat starts leaving the sides of the masala on a medium-low heat. The onion tomato masala will thicken, become glossy and start clumping around itself.
22. Use a slotted spoon or a strainer, remove the rajma beans from their cooking liquid and add them to the masala.
23. Stir and sauté for a minute.
Making Rajma Masala
24. Add 2 cups of the fresh water to the pan. If you like then you can also add the cooked rajma stock instead of fresh water.
25. Add salt as required.
26. Stir the whole rajma curry mixture.
27. On a low to medium-low heat, simmer without a lid for 10 to 12 minutes or more until the curry thickens slightly. The rajma curry should not be watery.
28. Mash a few rajma beans with the back of your spoon. This helps to thicken the rajma gravy.
29. Continue to simmer until you get a medium consistency in the curry.
30. Continue stirring at intervals when the rajma masala is simmering.
31. The Punjabi rajma masala has to thicken and the curry has to be of the right consistency, which is neither too thick nor thin.
32. Once the consistency is right, add 1 teaspoon crushed kasuri methi (dry fenugreek leaves) and 2 to 3 tablespoons light cream. (If using heavy whipping cream, then just add 1 tablespoon of it.) Mix very well and simmer for 30 seconds to 1 minute.
Adding cream is optional and you can easily skip it. Addition of cream gives some richness to the gravy making it taste restaurant style and balances the tang from the tomatoes.
33. Switch off the heat.
34. Serve your completed rajma masala with steamed basmati rice, jeera rice, saffron rice, roti, paratha or naan. The combination of rajma and rice or rajma chawal is quite famous in North India.
You can garnish with some coriander leaves for some fresh flavor and color when serving.
- Be sure to soak your dried beans! It is important to soak the rajma (kidney beans) overnight or for 8 to 9 hours and then cook them really well. Dried beans when soaked become more easy to digest as soaking reduces the phytic acid in them. The phytates present in beans cause indigestion and flatulence. Soaking also helps the beans to cook faster.
- Cook your rajma well! While making recipe with kidney beans, they have to be cooked really well. They should melt in your mouth when you bite into them offering no resistance. This is a very crucial and the most overlooked aspect of cooking rajma. Even in restaurants, the beans have a bite in them and this not only ruins the texture in the dish but also affects your stomach.
- Opt for high quality rajma beans. Always buy rajma beans which are new and not old. Older beans take a lot of time to cook and you don’t get the perfect texture in the rajma. I always check the packaging date while buying them and I don’t buy rajma if they are older than 5 to 6 months.
- If you’re short on time, use canned beans! When using canned kidney beans, add them at the step where cooked beans are added. Add fresh water and continue to simmer for some minutes until the consistency thickens. You can use two 15 oz canned kidney beans.
- Gluten-free variation: To make this rajma recipe gluten-free, skip the asafoetida (hing) or use gluten free asafoetida.
- Vegan variation: Instead of butter, use oil and skip the cream completely. Alternately, you can opt to use a vegan butter and coconut cream if you prefer a richer curry. The flavors of coconut will be felt in vegan rajma recipe but it will taste good.
Usually Punjabi rajma masala is made with the pinkish colored and striped kidney beans, but you can absolutely use the dark red kidney beans instead.
1 cup of dried kidney beans yields about 3 cups cooked beans. A 15 oz can makes for 1.5 to 1.75 cups of canned beans. You should therefore use two 15 oz canned kidney beans in the recipe.
Depending on the quality and freshness of the beans, it can take more or less time to cook. Always avoid aged beans as they do not soften and cook well.
You have two options. One is a method known as a “quick soak.” Pour boiling water over your kidney beans to cover them, cover the bowl and soak for 1 to 2 hours. They should now be ready to rinse, drain and cook.
Alternatively, feel free to opt for using canned beans instead. As the recipe is written, two 15oz cans should do the trick.
Yes, you can use this method. Due to the acidity of the tomatoes, the rajma beans *may* not cook well (depending on their freshness). That said, I have tried this way of cooking many times and it works for me when using fresh kidney beans.
Yes. While I find that just 1 to 2 tablespoons offers a velvety consistency that makes this rajma taste like it is from a restaurant, you may omit it if you wish.
Yes, you can skip kasuri methi.
Of course! In Indian cuisine, we generally add asafoetida to lentil or bean dishes, as it can help in digestion. But in this rajma masala recipe, asafoetida is easily skippable.
Yes, you can use canned tomatoes. Use 1 cup of crushed tomatoes.
Instead of mashing the cooked beans, you can take about ¼ cup of the cooked beans and grind or blend them with some water to make a fine paste. Add this paste to the curry base and simmer. The resulting rajma masala will have a thick consistency due to the added starch in the sauce.
First, soak the kidney beans as usual for 8 to 9 hours. Drain and rinse them with fresh water. Then in a large pot, take enough water, rajma and salt as required. Cover and cook for about 45 minutes to 1 hour, or until the beans are softened.
Yes, you can skip butter. You can also substitute vegan butter if you prefer.
Sauté the spices, onions and tomatoes in the steel insert of the Instant Pot using the sauté button.
Add the soaked and drained kidney beans, water and deglaze. Press the pressure cooker button or the chili button and set the time to 30 minutes at high pressure. Wait for natural release.
After 17 to 20 minutes open the lid. Press cancel button and press the sauté button again. Simmer stirring often until the curry thickens. Mash some beans when simmering to thicken the gravy.
Dal (Lentils) & Legumes
If you made this recipe, please be sure to rate it in the recipe card below. Sign Up for my email newsletter or you can follow me on Instagram, Facebook, Youtube, Pinterest or Twitter for more vegetarian inspirations.
This Rajma recipe is a creamy, tangy and spiced curry made with dried kidney beans. This restaurant style Rajma Masala is made in a base of sautéed onions, tomatoes, spices and cream making it truly delicious.
Prep Time 9 hrs
Cook Time 45 mins
Total Time 9 hrs 45 mins
For pressure cooking
For ginger-garlic-chilli paste
Rinse and soak the rajma (kidney beans) in enough water overnight or for 8 to 9 hours.
Next day, discard the water and rinse the beans again in fresh water for a couple of times.
Drain all the water.
In a 3 litre pressure cooker, take both the soaked rajma and water.
Pressure cook on a medium to high flame for 15 to 20 minutes.
When the rajma is cooking, you can chop the onions, tomatoes etc.
Crush the ginger, garlic and green chillies in a mortar-pestle to a fine or semi-fine texture. Set aside
When the pressure settles down on its own, open the lid.
Check if the rajma beans are cooked or not by taking a bite or pressing a few beans.
If the beans are cooked well set aside or drain the beans.
If the rajma are not cooked completely, then pressure cook again adding some water if required for some minutes.
Heat oil + butter in another pot or pan on a low heat. Add cumin first and let them crackle & get browned.
Then add onions and sauté them till they caramelized or golden browned on a medium-low to medium heat.
Take care not to burn them as this will give bitter tones in the curry.
Light browning the onions is also alright.
Keep on stirring the onions while sauteing them, for uniform cooking and also so that they don’t get burnt.
Lower the heat and add the crushed ginger-garlic-chili paste. Stir and sauté for 5 to 10 seconds on a low flame until the raw aroma of the ginger and garlic goes away.
Add the tomatoes. Sauté for 2 to 3 minutes on medium-low to medium heat until the tomatoes become soft.
Add all the spice powders one by one – turmeric powder, red chili powder, coriander powder, asafoetida (hing) and garam masala powder.
On a medium-low heat or medium heat stirring often sauté the whole masala mixture until the fat starts leaving the sides of the masala base. This masala paste will become glossy, thicken and leave the sides of the pan.
Using a slotted spoon or a strainer remove the beans and add them to the masala.
Stir and sauté for a minute.
Making rajma masala
Add 2 cups of water. If you prefer you can also add the cooked rajma stock instead of fresh water.
Add salt as required and stir the whole curry mixture.
On a low heat to medium-low heat simmer without a lid for 10 to 12 minutes or more time until the curry thickens slightly. It should not be watery.
Mash a few rajma beans with the spoon. This helps to thicken the curry.
When the rajma masala has thickened and comes to the right consistency which is neither too thick nor thin, then add the crushed dried fenugreek leaves (kasuri methi) and cream. You can skip the cream if you prefer.
Stir and simmer for 30 seconds to 1 minute. Switch off the heat.
Serve rajma masala with steamed basmati rice, jeera rice or naan or roti or paratha. You can garnish with some coriander leaves when serving.
The rajma chawal combo makes for a filling, heathy and a comforting meal.
- Soaking kidney beans: Dried beans when soaked become more easy to digest as soaking reduces the phytic acid in them. The phytates present in beans cause indigestion and flatulence. Soaking also helps the beans to cook faster.
- Texture of cooked beans: The rajma beans should be cooked very well and have a melt in the mouth texture. They should not be al dente or just about cooked.
- Quality of kidney beans: Use fresh beans within their shelf-life as older beans take a long time to cook.
- Using canned kidney beans: When replacing with canned kidney beans, add them at the step in the recipe where cooked beans are added. Add fresh water and continue to simmer for some minutes until the consistency thickens. You can add two 15 oz canned kidney beans.
- Gluten-free variation: Omit asafoetida (hing) for a gluten-free recipe.
- Vegan variation: Instead of butter use oil and skip the cream completely.
- Spicing: Spices in the rajma curry can be adjusted as per your taste.
- Cooking beans in a pot or pan: Soak the beans as usual for 8 to 9 hours. Drain them and rinse them with fresh water. In a large pot, add enough water, soaked beans and salt. Cook covered for about 45 minutes to 1 hour or more if required until the beans are softened.
- Note that the approximate nutrition info is for 1 serving of rajma without rice or roti or naan.
- Kidney beans: Dark red kidney beans can be used.
- Ingredients that can be skipped: Asafoetida, dried fenugreek leaves, butter and cream can be skipped completely.
- Canned tomatoes: You can add canned tomatoes instead of fresh. Add 1 cup of crushed tomatoes.
Making Rajma in Instant Pot
- Sauté the spices, onions and tomatoes in the steel insert of the Instant Pot using the sauté button.
- Add the soaked and drained kidney beans, water and deglaze.
- Press the pressure cooker button or the chili button and set the time to 30 minutes at high pressure.
- Wait for natural release. After 17 to 20 minutes open the lid.
- Press cancel button and press the sauté button again.
- Simmer for some minutes stirring often until the curry thickens. Mash some beans when simmering to thicken the gravy.
- Add the cream and dried fenugreek leaves. Mix and serve garnished with some coriander leaves.
Rajma Recipe | Rajma Masala
Amount Per Serving
Calories 210 Calories from Fat 63
% Daily Value*
Saturated Fat 4g25%
Vitamin A 873IU17%
Vitamin B1 (Thiamine) 1mg67%
Vitamin B2 (Riboflavin) 1mg59%
Vitamin B3 (Niacin) 1mg5%
Vitamin B6 1mg50%
Vitamin C 13mg16%
Vitamin D 1µg7%
Vitamin E 1mg7%
Vitamin K 9µg9%
Vitamin B9 (Folate) 160µg40%
* Percent Daily Values are based on a 2000 calorie diet.
Like our videos? Then do follow and subscribe to us on youtube to get the latest Recipe Video updates.
All our content & photos are copyright protected. Please do not copy. As a blogger, if you you want to adapt this recipe or make a youtube video, then please write the recipe in your own words and give a clickable link back to the recipe on this url.
This recipe post from the archives (October 2013) has been republished and updated on 31 May 2021 with a video and plenty of my expert tips with FAQs.