Rajma masala is a beloved North Indian dish of red kidney beans simmered in a rich, spiced onion-tomato gravy. It’s hearty, deeply flavorful, and when paired with steamed basmati rice, it becomes the ultimate comfort food—a combination that feels both nourishing and celebratory. This recipe builds layers of flavor with whole spices, ginger, garlic, and a touch of cream, creating a thick, luscious curry that clings perfectly to every grain of rice.
Ingredients
- 1 cup (200 g) dried red kidney beans (rajma), soaked overnight
- 2 cups (370 g) basmati rice, rinsed
- 2 tablespoons (30 ml) ghee or vegetable oil
- 1 teaspoon cumin seeds
- 1 bay leaf
- 1 cinnamon stick (2-inch / 5 cm)
- 2 green cardamom pods, lightly crushed
- 1 medium onion (150 g), finely chopped
- 1 tablespoon (15 g) ginger-garlic paste (or 1 tbsp grated ginger + 1 tbsp minced garlic)
- 2 medium tomatoes (300 g), pureed
- 1 teaspoon turmeric powder
- 1 teaspoon red chili powder (adjust to taste)
- 1 tablespoon ground coriander
- 1 teaspoon garam masala
- 1 teaspoon salt, plus more to taste
- 1 cup (240 ml) water, plus more for pressure cooking
- 2 tablespoons (30 ml) heavy cream or full-fat yogurt (optional)
- 2 tablespoons (8 g) fresh cilantro, chopped, for garnish
Instructions
- Soak the beans: Rinse the kidney beans and soak them in plenty of water for at least 8 hours or overnight. Drain and rinse before cooking.
- Pressure cook the beans: Place the soaked beans in a pressure cooker with 3 cups (720 ml) fresh water and a pinch of salt. Cook on high pressure for 25-30 minutes (or until very soft). If using a stovetop cooker, cook for 25 minutes after the whistle; if using an Instant Pot, cook on Manual/High for 35 minutes with natural release. The beans should be mashable between your fingers. Drain, reserving 1 cup (240 ml) of the cooking liquid.
- Cook the rice: While the beans cook, rinse the basmati rice until the water runs clear. In a medium pot, bring 4 cups (960 ml) water to a boil. Add the rice and 1 teaspoon salt. Cook, uncovered, over medium heat for 10-12 minutes, until the rice is tender but still has a slight bite. Drain any excess water, cover, and set aside.
- Start the masala: In a large skillet or Dutch oven, heat the ghee over medium heat. Add the cumin seeds, bay leaf, cinnamon, and cardamom. Sauté for 30 seconds until fragrant.
- Cook the onions: Add the chopped onion and cook, stirring occasionally, until golden brown, about 8-10 minutes. Add the ginger-garlic paste and cook for 1 minute more, until the raw smell disappears.
- Add the tomatoes and spices: Stir in the tomato puree, turmeric, red chili powder, coriander, and salt. Cook the masala for 5-7 minutes, until the tomatoes have thickened and the oil starts to separate from the mixture.
- Combine beans and simmer: Add the cooked kidney beans and the reserved cooking liquid (start with ½ cup / 120 ml, adding more if needed). Stir well. Bring to a gentle simmer, then reduce heat to low. Cover and cook for 15-20 minutes, stirring occasionally, so the beans absorb the flavors and the gravy thickens. The beans should be tender but not falling apart.
- Finish with garam masala and cream: Turn off the heat. Stir in the garam masala and the cream (if using). Taste and adjust salt or spice.
- Garnish and serve: Sprinkle with fresh cilantro. Serve hot over steamed basmati rice.
Tips
- Soaking is non-negotiable: Soaking the kidney beans overnight reduces cooking time and makes them easier to digest. If you’re short on time, do a “quick soak�: boil the beans for 2 minutes, then let them sit in the hot water for 1 hour before cooking.
- Don’t skip the reserved bean liquid: That starchy, flavorful water is what gives the gravy body. If you don’t have enough, supplement with plain water or low-sodium vegetable broth.
- Adjust the heat: The spice level is moderate. For a milder curry, reduce the red chili powder to ½ teaspoon. For more heat, add a slit green chili along with the ginger-garlic paste.
- Mash a few beans: For an even thicker, creamier gravy, mash about ¼ cup of the cooked beans against the side of the pot before simmering.
Serving Suggestions
Serve the rajma masala over steamed basmati rice, with a side of cucumber-onion salad (kachumber) and a wedge of lemon. A spoonful of plain yogurt or raita on the side cools the palate. For a complete meal, add warm roti or naan to scoop up every last bit of gravy.
Variations
- Vegan Rajma: Skip the cream and use 2 tablespoons of coconut milk or cashew cream instead. Use neutral oil instead of ghee.
- Smoky Flavor: Add 1 teaspoon of smoked paprika or a pinch of liquid smoke along with the garam masala for a subtle charred note.
- Extra Vegetables: Sauté 1 cup of diced carrots or bell peppers with the onions for added nutrition and sweetness.
- Instant Pot One-Pot: Sauté the aromatics in the Instant Pot, then add the soaked beans and 3 cups water. Cook on Manual/High for 35 minutes, then stir in the garam masala and cream. Skip the separate rice pot by using a rice cooker.
Storage and Reheating
Leftover rajma masala will keep in an airtight container in the refrigerator for up to 4 days. The flavors actually deepen overnight. Reheat gently on the stovetop over medium-low heat, adding a splash of water if the gravy has thickened too much. You can also microwave in 1-minute intervals, stirring in between. The rice is best stored separately and can be refrigerated for up to 3 days; reheat in the microwave with a damp paper towel over the top to restore moisture. For longer storage, freeze the rajma (without rice) in a freezer-safe container for up to 3 months. Thaw overnight in the fridge before reheating.
Frequently Asked Questions
Can I use canned kidney beans? Yes, absolutely. Use two 15-ounce (425 g) cans, drained and rinsed. Skip the pressure cooking step; add the beans directly to the masala with ½ cup (120 ml) water and simmer for 10-15 minutes. Reduce the salt in the recipe since canned beans are already salted.
Why are my beans still hard after cooking? The most common cause is old beans that have been sitting on the shelf for years. They may never soften fully. Also, acidic ingredients like tomatoes can prevent softening if added too early. Always cook the beans until tender before adding the tomato-based masala.
Can I make this in a slow cooker? Yes. After soaking, combine the beans, 4 cups (960 ml) water, and a pinch of salt in a slow cooker. Cook on low for 8 hours or high for 4-5 hours, until tender. Then prepare the masala on the stovetop and stir it into the beans, simmering for 15 minutes. Note that the texture may be slightly different—the beans will be softer and the gravy less thick.
What if I don’t have ginger-garlic paste? Use 1 tablespoon of finely grated fresh ginger and 1 tablespoon of minced garlic. If you only have garlic powder and ground ginger, use 1 teaspoon each, but the fresh version gives a much brighter flavor.
Is rajma masala gluten-free? Yes, as written, this recipe is naturally gluten-free. Just ensure your garam masala and other spice blends are certified gluten-free if you have celiac disease.
Can I skip the cream? Definitely. The cream adds richness but is not essential. The curry will still be delicious and slightly lighter. You can also stir in a tablespoon of unsalted butter at the end for a similar silkiness.
Related
- Navajo Taco Ingredients: What You Need for Authentic Frybread
- Chicken Broth Carton: How to Use, Store & Upgrade
- Vacuum Sealing Equipment: A Complete Guide
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).