Move over, Chana Masala. There’s another Indian bean dish that deserves some spotlight.

Meet Rajma Masala, the lesser-known curry with larger-than-life flavor that’s about to rock your world.

I like to think of it as India’s version of chili; big, bold flavors, layered and simmered so they meld, mingle, and mature into something velvety, rich, and deeply comforting.

Make room in your heart because it’s time to fall in love with this luxurious, restaurant-quality Rajma Masala (that happens to be gluten-free, nut-free, soy-free, and packs in 26 grams of fiber per serving!).

Where’ve you bean all my life? Continue your love affair with Indian bean/legume dishes and try a few more faves from the RPL archives, like my creamy chickpea curry, braised Indian chickpea stew, dal palak (spinach dal), or red lentil curry!

overhead view of rajma masala topped with yogurt, tadka and cilantro in a saucepan.

Rajma Masala 101

Originating in North India, particularly in the Punjab region, rajma masala is a kidney bean curry (rajma means “kidney beans” in Hindi).

The process of making rajma masala boils down to three steps plus an optional fourth step, each with an associated “key to success” which takes the final dish from “good” to “life-changing.”

1. Cook the kidney beans

Key to success: Cook dried beans from scratch.

Why? The velvety texture of rajma masala is a hallmark of the dish—you simply cannot get it with canned beans. Dried beans release their starches into the liquid as they cook, making the beans creamy and the cooking liquid rich and thick. 

2. Make the tomato-onion masala

Keys to success: Dice finely or puree, and take the time to cook both the onion and tomato down.

Why? Finely-diced onions melt into the masala, and browning them adds sweet-savory depth to the masala. Pureeing the tomatoes helps them melt into the masala and cooking them down concentrates their flavor. 

3. Combine the beans and the masala

Key to success: Toss the beans in the masala first, then add the cooking liquid. 

Why? Adding the beans by themselves allows them to get coated in the flavors of the masala before being doused in liquid. Also, it’s what my mom does for similar dishes, and she is always right.

4. Finish with a tadka (optional) 

Key to success: Keep things stirring to prevent burning! 

Why? Finishing this dish with a tadka—a tempered spiced oil—takes this dish from really good to really great. Just make sure you stir very frequently so the aromatics and spices don’t burn in the hot oil.

Keep reading for a walkthrough of the steps in detail and my tried-and-true tips for rajma masala magnificence!

close up overhead view of rajma masala topped with yogurt, tadka and cilantro.

Ingredient notes and substitutes 

rajma masala ingredients on a cutting board and in various small bowls on a table.
  • Dry kidney beans: Canned beans are a great convenient choice for so many recipes—but this is not one of them. The only way to achieve the signature texture and flavor of rajma is to cook dry kidney beans. As they cook, the beans get infused with the flavor of whole spices AND they release their starches into that liquid, making the resulting dish rich and flavorful. Plus, canned beans are too firm, so you’d have to simmer them until really soft anyways.  
  • The Holy Quaternity of Indian Cooking: If you’ve made my Indian recipes before, you may recognize that this refers to onions, garlic, ginger, and green chilies. They form the base of the masala and add tons of flavor.
  • Fresh tomatoes + tomato paste: We utilize both in the masala. The tomato paste adds a base layer of concentrated sweet-savoriness, and the fresh tomatoes get blitzed into a puree to add rajma’s signature tangy flavor. 
  • Whole spices: The dried beans get cooked with a cinnamon stick and Indian bay leaves (AKA tejpatta), and these same spices are used in the masala—plus cumin seeds and black cardamom pods, if you can find them! Black cardamom is often used in Punjabi-style rajma to add a slight smokiness and unique robustly savory flavor, though it’s optional here. Finally, dried fenugreek leaves (AKA kasuri methi) are used in the tadka, which adds a robustly savory finishing flavor. 
  • Ground spices: Some staples here: ground coriander, cumin, turmeric, Kashmiri chili powder, and, optionally, a few pinches of asafetida (AKA hing), which contributes an umami onion-garlicky flavor when cooked. And finally the classic finishing spice used in most North Indian gravy-style dishes, garam masala, gets added in the tadka. 

Substitutes

You can find all of the spices in this recipe at your local South Asian grocer or online, but here are some substitute options. 

  • Don’t have Indian bay leaves / tejpatta? Use regular bay leaves. 
  • Can’t get black cardamom? Omit it (there’s no close substitute). 
  • Can’t handle spicy food? This recipe is designed to be moderately spicy. If you want zero heat, omit the chile peppers. If you want mild heat, use one pepper.
  • Fresh tomatoes not in season? Use canned whole peeled tomatoes and give them the same blitz in the food processor. 
  • No dried fenugreek leaves? There’s no real sub here, but you can double the amount of garam masala in the tadka. 
digital drawing of white and black beans.
Want to save this recipe?
Enter your email address and we’ll send it straight to your inbox. Plus, we’ll send you new posts and recipes!

Step-by-step instructions

person pouring water over dried kidney beans in a large glass bowl.
  1. Soak the beans: Cover with plenty of water and stir in 1 ½ TBSP kosher salt. Soak at room temp for 8 to 12 hours.
person draining soaked kidney beans in a colander.
  1. Drain the soaked beans and rinse well.
spoon adding cooked beans to a large pot of water.
  1. Cook the beans: Add the beans to a large saucepan with 9 cups (2.1 L) water, baking soda (optional), and oil. Skim off any thick foam as the beans come to a boil. Partially cover and boil for 10 minutes. 
cooked beans, water, salt, cinnamon stick and bay leaves in a pot.
  1. Reduce the heat and stir in 2 teaspoons kosher salt, the cinnamon stick, and bay leaves.
tender cooked beans on a spoon.
  1. Cook uncovered at a gentle simmer until the beans are tender and squishable between your fingers, but not mushy. 
person straining beans from cooking liquid with a colander fitted inside a glass bowl.
  1. Strain the beans from the cooking liquid but keep the liquid (discard the spices). 
oil, cinnamon stick, bay leaves, cardamom and cumin cooking in a frying pan.
  1. Make the masala: Heat the oil in a large saute pan over medium, then add the cinnamon stick, bay leaves, and black cardamom (optional). Stir for 30 to 45 seconds, then add the cumin seeds for 10 seconds.
onion and serrano peppers after being cooked with the mixture in the frying pan.
  1. Add the onion and serrano peppers and stir occasionally until the onions are browned, 12 to 15 minutes.
garlic-ginger paste and tomato paste added to the frying pan.
  1. Add the garlic-ginger paste and tomato paste. 
garlic-ginger paste and tomato paste after being cooked with the other ingredients.
  1. Stir almost constantly for 90 seconds.
tomato puree, salt and pepper added to the frying pan.
  1. Add the blended tomato puree, salt, and pepper. Cook for 10 minutes at a rapid simmer, stirring occasionally, until you have a concentrated dark red paste.
cooked tomato mixture with ground spices added.
  1. Add the ground spices—coriander, chili powder, cumin, turmeric, and optional asafetida—plus a big splash of water. 
cooked masala in frying pan.
  1. Stir frequently for 1 minute until thick and combined. 
beans and masala in a deep frying pan.
  1. Combine beans and masala: In the pan used for the beans (or other large, deep saute pan), combine the drained beans and masala. Toss the beans into the masala for 1 minute.
bean cooking liquid added to the beans and masala.
  1. Add the reserved bean-cooking liquid (4 ½ cups / 1.1L). If you have less than that amount of reserved liquid, top off with water.
stirred combined rajma masala ingredients in the deep frying pan.
  1. Bring to a boil, then reduce the heat, and simmer, covered, for 20 minutes, uncovering occasionally to stir.
person holding a cooking spoon with rajma masala over the pan.
  1. Uncover and rapidly simmer for 10 final minutes until you have a velvety gravy.
person pouring the tadka over the rajma masala.
  1. Remove from the heat and pick out the whole spices and chiles. 

    Stir in cilantro and lemon juice, and pour the tadka on top just before serving. 

Tips for making this recipe

For greatness, don’t skip the tadka 

I’ve kept the tadka optional because this dish is still good without it, but it really shines with it, so I’d recommend not skipping it.

In case you’re not familiar, a tadka simply refers to briefly cooking spices and sometimes aromatics in a fat source, then pouring the entire thing—oil and spices—over the final dish. The hot oil releases the fat-soluble oils in the spices AND the oil gets infused with the spices’ flavor, so it’s a win-win, adding tons of dynamic flavor to the finished dish. 

5 tips for the perfect beans

  1. Soak the beans in salty water. Beans are extremely dense and need salt from the get-go. Even a bangin’ masala can’t cure bland beans. Plus, soaking beans in salty water has been shown to make them more tender
  1. Add baking soda + oil to the bean-cooking water. Baking soda helps soften the beans faster (by about 20 minutes in my tests) and thickens their texture, making the final texture similar to chili. If you prefer a soupier texture, omit the baking soda. The oil helps minimize the amount of foam the beans release as they come to a boil. 
  1. Boil the beans for 10 full minutes. Raw kidney beans contain a toxin that can give you food poisoning, so boiling them for 10 minutes ensures the toxin is destroyed. I recommend keeping the beans partially covered during the boil so you don’t lose a ton of water to evaporation.
  1. Top off with water as needed. If not using baking soda, the beans will take longer to cook, and you may need to top off with fresh water to ensure they’re submerged. 
  1. Use texture as your doneness indicator. While I offer estimated times, they will vary based on how long you soaked the beans, whether you used baking soda, the freshness of your beans, etc. The beans are done when you can easily mash one between your fingers but before they become super mushy

After a 10-hour soak, I’ve found the below: 

  • With baking soda: 40 – 45 minutes of cook time
  • Without baking soda: 70 minutes of cook time

Want to make these beans in your Instant Pot? See the recipe card notes for detailed instructions!

cooked kidney beans in a colander.
the texture of the beans when done cooking
digital drawing of white and black beans.

When and how to multitask

There are several opportunities for “multitasking” in this recipe, by which I mean using inactive or mostly inactive cook time to do other prep work.

  1. While the beans cook… start prepping the masala ingredients! After you’ve boiled the beans for 10 minutes, you’ll add the whole spices and reduce the heat. The beans don’t need babysitting so use this time wisely! 
  1. While the onions brown… prep the garlic, ginger, and tomatoes! The onions need 12 – 15 minutes to brown and need only occasional stirring, so if you feel comfortable, use the time to blitz the garlic and ginger in the food processor and puree the fresh tomatoes.
  1. While the tomatoes cook… measure the ground spices in a bowl (and do some cleanup!). 
  1. While the rajma simmers… prep the tadka ingredients. Wait to actually cook the tadka (2 to 3 minutes) when the rajma is done so you can pour it on fresh. 

Prep ahead, if you want 

This dish, like a lot of Indian dishes, is a labor of love, so it’s not something you’d whip up on an average Tuesday night. That said, you can prepare lots of the items in advance to make this process more streamlined.

Cook the beans ahead of time. You can cook the beans and store them separately from the liquid and refrigerate for 2 to 3 days.

Prep the aromatics: If you’re in the habit of doing a little meal prep on the weekend like I am, chop/blend all the aromatics. Store the onions and serrano peppers together in a ziploc bag, then in an airtight container (to prevent onion odor in the fridge). Store the garlic and ginger together and the tomato puree separately for 3 to 4 days.

rajma masala topped with yogurt and cilantro in a deep saute pan.

Frequently Asked Questions

Can I cook the kidney beans using an Instant Pot?

Sure! See the notes at the bottom of the recipe card for detailed instructions.

Do I have to soak the beans before cooking them?

I highly recommend soaking. In my tests, kidney beans that were unsoaked cooked very unevenly: some were overcooked, while others were still very firm. 

This also applies to the Instant Pot—unsoaked kidney beans cooked very unevenly in our tests.

If you don’t have time to do a full soak, try a quick soak. Follow the instructions from the Food Network

I prefer my rajma soupier and less thick. How do I fix this?

First, omit the baking soda from the beans, as it tends to thicken and soften them into a more chili-like texture.

Two, the recipe calls for adding 4 ½ cups of cooking liquid, so you can start with 5 cups and add more water as needed.

I don’t have a mini food processor or blender to blend the garlic, ginger, and tomatoes. What should I do?

No problem. I use this simply to speed up the prep process, but you can definitely use a knife to finely chop the garlic and ginger and to finely chop the tomatoes.

Since this will take longer, you may need to prep these before cooking the masala instead of multitasking while the onions cook. 

How do I store leftovers? Can I freeze this?

Store leftover rajma in a sealed container in the fridge for 5 to 6 days. 

This is also a great candidate for freezing, especially because it makes a large quantity, and will stay good for 3 to 6 months—but it is best to not pour any tadka on the portion you plan to freeze. I like to freeze them in my Souper Cubes for easily portioned leftovers that are quick to defrost.

Reheating tip: The rajma thickens a lot as it sits in the fridge (from the bean starch), so you’ll want to loosen it with some water as you heat up leftovers.

How should I serve rajma masala?

This dish is typically served with rice (AKA rajma chawal), but you could also do flatbread (a batch of my homemade vegan naan would be divine but store-bought pita / naan is also great). 

I recommend dolloping some plain coconut yogurt on top for a cooling contrast (fave brands: Cocojune, Culina).

If you’re feeling ambitious, you can top it with raita

rajma masala topped with cilantro, tadka and yogurt in a deep saucepan on a table.

Swooning over this velvety rajma masala? Let me know by leaving a rating and review below! Reading your comments makes my day 🤗

Introducing

Big Vegan Flavor

Techniques and 150 recipes to master vegan cooking.

Rajma Masala (Kidney Bean Curry)

Prep: 30 minutes
Cook: 1 hour 30 minutes
Total: 2 hours
Servings: 6 (makes 8 cups total)
5 from 1 vote

Made it? Click the stars to leave a review!

Kidney beans get a major glow up in this restaurant-style North Indian rajma masala. The beans are cooked with whole spices, then combined with a robust onion-tomato masala and simmered with the bean cooking liquid into a hearty, velvety gravy layered with spices and richness.
Save this recipe!
Get this sent to your inbox, plus get new recipes from us every week!

Ingredients

For the kidney beans

  • 1 lb (450g) dried red kidney beans
  • Kosher salt and freshly cracked black pepper (see Note 1)
  • ½ teaspoon baking soda (optional, see Note 2)
  • 1 teaspoon neutral-flavored oil
  • 1 (2 to 3”) cinnamon stick
  • 2 Indian bay leaves (AKA tejpatta; or regular bay leaves)

Whole spices and aromatics

  • 3 tablespoons (42g) neutral-flavored oil
  • 1 (2 to 3”) cinnamon stick
  • 2 Indian bay leaves (AKA tejpatta; or regular bay leaves)
  • 2 black cardamom pods, lightly pressed down on with your finger (optional, see Note 3)
  • 2 teaspoons cumin seeds
  • 1 large yellow onion, finely diced (2 cups / 300g diced)
  • 1 to 2 serrano peppers, de-stemmed and slit open slightly (2 for spicy)
  • 6 cloves garlic smashed down to remove peels
  • 1" piece (8g) fresh ginger, peeled
  • 14 ounces (400g) ripe tomatoes (see Note 4)
  • 2 tablespoons (30g) tomato paste

Ground spices

  • 1 ½ tablespoons (9g) ground coriander
  • 2 teaspoons Kashmiri chili powder (see Note 5)
  • 1 teaspoon ground cumin
  • 1 teaspoon ground turmeric
  • A few pinches asafetida (optional, for extra oomph)

Finishing

  • 1 cup (16g) fresh cilantro leaves and tender stems, chopped
  • A few squeezes of lemon juice

Tadka

  • 2 tablespoons (28g) neutral-flavored oil (or vegan butter)
  • 2 cloves garlic, sliced into thin matchsticks
  • 1" piece (8g) fresh ginger, peeled and sliced into very thin matchsticks
  • 1 tablespoon dried fenugreek leaves, crushed between your fingers (see Note 6)
  • 1 teaspoon garam masala
  • ½ teaspoon Kashmiri chili powder

Instructions 

  • Soak: Cover beans with cold water, stir in 1½ TBSP kosher salt (see Note 1), and soak 8–12 hours. Drain and rinse.
  • Boil the beans: Add soaked beans to a large saucepan with 9 cups (2.1 L) water, the baking soda if using, and the oil. Bring to a boil (covering the pot speeds this up), skimming off thick foam. Partially cover and boil for 10 minutes.
  • Simmer the beans: Stir in 2 tsp kosher salt, 1 cinnamon stick, and 2 bay leaves. Reduce to a very gentle simmer (just a few tiny bubbles). Cook uncovered until beans mash easily between your fingers (don't overcook until mush though): for a 10 hour soak, this is ~40 to 45 minutes with baking soda, ~70 without.
  • Strain: Drain beans over a bowl, reserving the liquid; discard the spices. You want 4½ cups (1.1 L) liquid—top off with water if short. Keep beans and liquid separate.
  • Start the masala: Heat a large sauté pan over medium until hot, then add 3 TBSP oil. Once shimmering, add 1 cinnamon stick, 2 bay leaves, and 2 black cardamoms (if using); stir 30–45 seconds until aromatic. Add 2 tsp cumin seeds and sizzle for 10 seconds.
  • Brown the onions: Add onion and serranos with a big pinch of salt. Cook for 12 to 15 minutes until deeply browned, adding a splash of water if they brown unevenly.
    Meanwhile: In a mini food processor blender cup, blend garlic and ginger into a coarse paste; transfer to a bowl with the tomato paste; Then add the tomatoes to the machine and blend into a puree.
  • Build the base: Add the garlic-ginger-tomato paste mixture to the pan, stirring almost constantly for 90 seconds. Add the tomato purée, deglazing the pan, then season with 1 tsp kosher salt and black pepper to taste. Rapid-simmer ~10 minutes, stirring occasionally, until you have a concentrated, dark red paste.
    Meanwhile: Combine all the ground spices in a bowl.
  • Bloom the ground spices: To the pan, add the Ground Spices plus a big splash of water. Add the combined ground spices plus a big splash of water. Stir 1 minute until thick, then remove from heat.
  • Combine: In the large saucepan, combine the masala and drained beans over medium heat, tossing to coat for 1 minute. Add the reserved 4½ cups (1.1 L) liquid.
  • Simmer: Bring to a boil, then cover and simmer on low for 20 minutes, stirring occasionally. Uncover and rapidly simmer for 10 minutes until the gravy has thickened.
    NOTE: If you didn’t use baking soda, mash ~10% of the beans against the pan to thicken.)
    Meanwhile: Prep the Tadka ingredients.
  • Finish: Off the heat, fish out the bay leaves, cinnamon, serrano, and cardamom. Stir in cilantro and a few squeezes of lemon. Set aside while you make the Tadka.
  • Make the Tadka: Add the oil or butter to a cold small saucepan, then turn to medium heat. Once shimmering or melted, add garlic and ginger; stir 1 to 2 minutes until the ginger frizzles at the edges. Add fenugreek, garam masala, and chili powder; stir for 20 to 30 seconds, then pour over the rajma.
  • Serve: Taste and adjust salt and lemon. Serve with rice or flatbread, and yogurt if desired. It thickens as it rests, so loosen with water as needed.

Notes

  1. Salt: Amounts are for Diamond Crystal kosher salt. Use roughly half if using table salt, sea salt, or Morton’s kosher salt.
  2. Baking soda: Softens the beans faster and thickens the rajma to a stew/chili texture. For a soupier result, skip it but use 10–11 cups (~2.5 L) water to offset the longer cook and extra evaporation.
  3. Black cardamom: Adds a smoky, savory depth typical of Punjabi rajma, but optional. Lightly crack the pods with your fingers — don’t fully crush or pound the pods, as the aroma can be overpowering.
  4. Tomatoes: No good fresh ones? Use 14 oz (400g) canned whole peeled tomatoes, crushed or puréed.
  5. Kashmiri chili powder: A mild Indian red chili powder. Substitute 1½ tsp sweet or hot paprika plus ¼ to ½ tsp cayenne pepper.
  6. Fenugreek leaves (kasuri methi): Bring a bold, savory note to North Indian dishes. Find them at South Asian grocers or online.
  7. Instant Pot beans: Soak per step 1. Add drained beans, 1 tsp oil, 2 tsp salt, cinnamon, and bay leaves (no baking soda) with 5 cups (1.2 L) water to the Instant Pot. Cook at high pressure for 8 minutes, followed by a natural release for 10 minutes, then manually release remaining steam. Beans should mash easily; strain per step 4.

Nutrition

Serving: 1.33cup | Calories: 329.8kcal | Carbohydrates: 56.1g | Protein: 18.3g | Fat: 14.2g | Saturated Fat: 1.9g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 9.1g | Sodium: 355.8mg | Potassium: 1061mg | Fiber: 26.8g | Sugar: 6g | Vitamin A: 850IU | Vitamin C: 16.7mg | Calcium: 45.4mg | Iron: 5.7mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Love this? Leave a rating below!

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

Your email address will not be published. Required fields are marked *

Rate this recipe




4 Comments

  1. Th says:

    5 stars
    I was just planning the menu for next week, and thought I’d like to make Rajma and here is the recipe! posted right on time 🙂
    I will follow your recipe and share my review next week.

    Thank you.

  2. Sophie says:

    Hi Nisha, this sounds amazing! Do you know whether I can cook the beans in my slow cooker? I don’t have an instant pot, but I used to cook my chickpeas in the slow cooker, so was wondering whether this would work for the kidney beans as well! I would soak for 10h, then cook for minimum 8h…

    1. Nisha Vora says:

      Hi Sophie, I’m delighted you’re excited by this recipe! I don’t own a slow cooker, but based on my research, you still want to boil the kidney beans on the stove for 10 minutes to start because of the toxin they contain (the slow cooker doesn’t reach a high enough temperature to boil them). You can then transfer the beans + water to your slow cooker.

      Since the beans will be soaked overnight and then boiled for 10 minutes, I think low for 4-6 hours might be sufficient. Some of the standard guides for slow cooking beans I’ve seen online typically say 6 to 8 hours on low but they’re not boiling them for 10 minutes, so I think 8 hours could be too much.

      I’d also skip the baking soda, as I don’t know how it will react during such a long cook time.

      I wish I could be more help, but since I don’t have a slow cooker, these are just my best guesses based on research.

      1. Sophie says:

        Thank you for the quick response! I didn’t think of the toxins becoming a problem in the slow cooker, so thanks for warning me! I will try it when I have the time, I am looking forward to it 🙂