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. I also share a homestyle one pot rajma masala (which many of our readers had requested) that will remind you about the comforting and satisfying rajma curry (or rajma chawal) made in Punjabi homes.
Table of Contents
Rajma (Kidney Beans)
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.
Restaurant Style Rajma Recipe
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 rajma 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. 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 served with rice, tasty and inexpensive, it is also quite healthy and wholesome! So now that you know about this traditional Punjabi dish of rajma recipe, 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.
Soak and cook beans
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.
Make masala base
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.
Make 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.
About One Pot Rajma Masala
This rajma recipe is one pot and made entirely in a stovetop pressure cooker. The recipe is easy to make if you have all the ingredients. Many of these ingredients are easily available in an Indian kitchen.
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.)
I am sharing here both the methods of making the delicious kidney bean curry a.k.a rajma and chawal (steamed rice) with step by step photos.
This easy one pot rajma masala is my mother-in-law’s fabulous Punjabi recipe. It is her special recipe and it is special in one more sense.
That it is a really unique, simple and easy rajma recipe – no blending or grinding of any ingredients, no sautéing and no frying.
This is a one pot rajma gravy that you can make regularly at home. The rajma masala that you eat in Punjabi homes is not spicy, thick or creamy like the rajma masala served in restaurants.
This homestyle recipe is mildly spiced and not heavy as I do not add any cream. Overall a delicious easy kidney bean curry that goes well with steamed rice.
In most Punjabi homes the kidney beans are cooked till they become soft enough to melt in the mouth. Whereas in many of the restaurants I have eaten, the beans are just about cooked or al dente.
I recommend cooking the kidney beans fully so that they become soft and easy to digest. Remember, well-cooked kidney beans are easy to digest.
Another important point which I must mention about making rajma masala is to soak the beans overnight so that they take less time to cook in the pressure cooker.
Punjabi rajma is best served with steamed rice a.k.a chawal. In fact, the combination of rajma chawal is quite popular and liked by many people.
At home, we also enjoy rajma with chapati or naan or paratha. You can also serve rajma with bread or cumin rice.
This recipe serves four and you can easily halve or double the ingredients to scale the recipe.
How to make One Pot Rajma Masala
- 1 cup kidney beans) – about 200 grams rajma, soaked overnight in enough water
- 2.5 cups water for pressure cooking
- ½ to 1 teaspoon chopped green chillies or 1 green chili, chopped
- 1 tablespoon chopped garlic or 7 to 8 medium-sized garlic
- 1 tablespoon chopped ginger or 2 inches chopped ginger
- 3 medium tomatoes, chopped – about 200 grams
- 1 large onion, chopped – about 100 grams
- ½ teaspoon turmeric powder
- ½ teaspoon red chili powder or cayenne pepper
- ¾ to 1 teaspoon Garam Masala Powder
- 1 teaspoon dry mango powder (amchur powder)
- 1 teaspoon cumin seeds
- 2 tablespoon butter or oil
- salt as required
Soak Kidney Beans and Prep
1. Soak 1 cup (200 grams) kidney beans in enough water overnight or for 8 to 9 hours.
2. The next day or after 8 to 9 hours, drain the soaked water.
3. Rinse the kidney beans again in fresh clean water.
4. Drain all the water and set the beans aside.
5. Finely chop the veggies – 1 large onion (100 gms), 3 medium tomatoes (200 gms), 1 inch ginger, 7 to 8 medium sized garlic and 1 green chilli. Keep aside.
Make One Pot Kidney Bean Curry
6. In a 3 litre stovetop pressure cooker add the kidney beans together with the chopped onions, tomatoes, ginger, garlic and green chilies.
7. Now add the spices – 1 teaspoon cumin seeds, ½ teaspoon red chili powder, ½ teaspoon turmeric powder and salt as per taste.
8. Pour 2.5 cups water.
9. Stir and mix very well.
10. Add 2 tablespoons butter or oil.
11. Stir again.
12. Cover pressure cooker tightly with its lid. Pressure cook for 18 to 20 whistles or about 20 to 22 minutes on medium-high to high heat.
13. Once the pressure settles down on its own, open the lid and check the beans. The kidney beans have to be soft and cooked completely.
Taste a few beans and they should be melt in the mouth without giving you any bite or resistance while eating. If the beans are still not cooked completely, then add about ½ cup more of water and pressure cook again for 5 to 6 whistles or as needed.
14. Once the kidney beans have softened and are cooked well, then check the consistency of the gravy or curry.
You will see a thin water-like stock with the tomatoes and onions floating. So you have to continue to simmer till the gravy thickens a bit.
15. Keep the cooker on the stovetop without lid and on a medium-low to medium heat simmer the gravy.
16. When you keep the rajma gravy on the stovetop add 1 teaspoon dry mango powder (amchur).
17. Add about ¾ to 1 teaspoon of garam masala powder.
18. Mix well and simmer till the gravy consistency thickens. Mash a few kidney beans with the back of a spoon to thicken the consistency.
If while cooking the water reduces too much and the consistency becomes very thick, then add some hot water and stir to combine.
19. When the consistency of the gravy is no longer broth-like or water-like and thickened somewhat like the one shown in the photo below, then the rajma gravy is ready. If you want you can thicken the gravy more, if having with chapati or roti.
But if eating rajma masala with rice then there is no need to thicken the gravy. Lastly check the taste and add more of salt, garam masala, or dry mango powder if required. You can even garnish rajma curry with some coriander leaves.
Remember that the curry consistency is not watery but smooth. If you find that the water is too much after the beans are cooked. Then cook the gravy for some more time without any lid to evaporate the water.
Make Steamed Rice (Chawal)
You Will Need
- 1 cup basmati rice (heaped) or 200 grams basmati rice
- 2 cups water or about 500 ml water or add as required depending on the quality of rice
- ½ teaspoon oil (optional)
- ¼ teaspoon salt or add as per taste
I am sharing the absorption method of cooking rice. You can take the amount of rice that you plan to serve. I have here taken 1 cup heaped basmati rice (200 grams).
You could easily double or triple the ingredients to make a larger serving of the rice to go suit your servings of rajma chawal.
Note that basmati rice triples in volume once cooked. So 1 cup raw basmati rice will yield approx. 3 to 3.5 cups of cooked rice.
1. Take the rice grains in a bowl and begin to rinse the rice grains in running water. Rinse the grains with a gentle swirling of your fingers in the bowl. Rinse the rice grains till the water looks clear of any starch.
2. Soak the rice grains in ¾ to 1 cup water for 20 to 30 minutes. After keeping the kidney beans to cook in the pressure cooker, you can begin with the rinsing and soaking of rice.
3. After 20 to 30 minutes, drain all the water from the rice and keep aside.
4. For 1 cup of rice, pour 2 cups water in a heavy thick deep bottomed pan. Use the proportion of 1:2 of rice and water depending on the quantity of rice you are using.
Also use a wide deep pan so that the water does spill out while cooking. The amount of water to be added depends on the quality and quantity of rice.
Some varieties of basmati rice gets cooked quickly in less water. In this case, you can add 1.75 cups of water for 1 cup of rice.
6. Add ¼ teaspoon salt or as per your taste. You can also add ½ teaspoon of oil or butter or ghee. Adding any fat like oil or butter is optional.
7. Let the water come to a boil on a medium to medium-high heat.
8. Add the rice.
9. Gently stir the rice grains with a fork. You can even gently shake the pan, so that the rice grains settle down in the pan.
10. Cover the pan with a tight-fitting lid. Do check once or twice when the rice is cooking. In case the rice grains look undercooked and the water has dried up, then add 2 to 3 tablespoons hot water. Stir gently with a fork.
11. Then lower the heat and cook the rice till all the water has been absorbed and the rice grains have cooked well. Usually, rice takes about 7 to 8 minutes for the rice grains to be tender, soft and fluffy.
The cooking time will vary with the type or variety of rice grains, quality of the pan and the intensity of the flame.
12. After the rice is cooked give a resting time of 5 minutes before you open the lid. Then open the lid and gently fluff the rice with a fork.
Serve Rajma Chawal
13. To serve rajma chawal, first spoon hot steamed rice onto a serving plate. Make a neat bed of the rice. Pour the rajma gravy on top of the rice.
Enjoy rajma chawal and don’t forget to includes side of some thinly sliced onions, lemon wedges or spice up with a simple kachumber salad or a mango pickle.
Rajma curry can also be served with roti, paratha, naan or bread. But this combination of kidney beans curry with rajma or Rajma Chawal is very popular in Western and Northern India.
Though we prefer cooking white basmati rice for our rajma chawal dinners, but feel free to serve the curry with brown rice or red rice or hand-pounded rice. You can opt to use any other variety of white rice to make rajma chawal.
- 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.
Rajma Recipe | Rajma Masala
For pressure cooking
- 1 cup rajma – 200 grams (dried kidney beans), any variety
- 3.5 to 4 cups water for pressure cooking
- enough water for soaking rajma
For ginger-garlic-chilli paste
- 3 to 4 garlic cloves – medium-sized
- 1 inch ginger
- 1 to 2 green chillies or 1 to 2 Serrano peppers
- 2 tablespoons Butter + 1 tablespoon oil or 3 tablespoons butter
- ½ teaspoon cumin seeds
- ¾ to 1 cup finely chopped onions or 150 grams onions or 1 large onion
- 1 cup finely chopped tomatoes or 250 grams tomatoes or 3 medium or 2 large tomatoes
- 1 teaspoon Coriander Powder (ground coriander)
- ¼ to ½ teaspoon red chili powder or cayenne pepper or hot paprika
- ¼ teaspoon turmeric powder (ground turmeric)
- 1 pinch asafoetida (hing) – optional
- ¼ to ½ teaspoon Garam Masala Powder
- 1.5 to 2 cups rajma stock (the water which was used to cook the beans) or fresh water
- salt as required
- 1 teaspoon crushed kasuri methi (dried fenugreek leaves) – optional
- 2 to 3 tablespoons low fat cream or half and half or 1 tablespoon heavy whipping cream – optional
- 1 to 2 tablespoons chopped coriander leaves – for garnish, optional
- 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.
Nutrition Info (Approximate values)
This recipe post from the archives first published, on October 2013 has been republished and updated on 3 December.