Rich, thick, and deeply satisfying, Punjabi Rajma is a protein-packed vegetarian kidney bean curry. This high fiber, DASH-friendly dish supports weight loss and is a family kitchen staple.
Rinse and soak the kidney beans overnight in plenty of water for at least 8–10 hours, then drain.
In a large pot, combine soaked beans with 4 cups of fresh water and the bay leaf. Bring to a boil, then simmer gently and cook covered for 60–75 minutes until beans are fully tender.
While beans are cooking, heat vegetable oil in a skillet over medium heat. Sauté chopped onions for 7–10 minutes until golden-brown, controlling heat to avoid burning.
Add ginger and minced garlic; cook for 1–2 minutes until raw aroma disappears. Stir in all powdered spices (cumin, coriander, turmeric, red chili) and cook for another minute, stirring frequently.
Add chopped tomatoes and cook over medium-high heat until mixture thickens, about 6–8 minutes, scraping the bottom to prevent sticking.
Add the cooked beans along with their cooking liquid to the tomato-onion mixture. Simmer uncovered for 20–25 minutes on medium-low heat, mashing a few beans for thick texture. Adjust salt to taste.
Sprinkle garam masala and simmer 5 more minutes. Turn off heat, rest for 10 minutes for flavors to meld. Garnish with chopped cilantro before serving.