Soak: Rinse the beans and soak them in 4 cups of water for at least 8 hours or overnight.
Pressure Cook: Drain the soaking water. Add the beans to a pressure cooker with 3 cups of fresh water and a pinch of salt. Cook for 6–8 whistles (or 30 mins in an Instant Pot) until the beans are tender enough to be mashed between two fingers.
Prepare the Masala: In a separate pan, heat ghee/oil. Add cumin, bay leaf, cinnamon, and hing. Once they sizzle, add onions and sauté until deep golden brown.
Sauté Aromatics: Add the ginger-garlic paste and sauté for 2 minutes until the raw smell disappears.
Cook Tomatoes: Add the tomato puree, turmeric, chili powder, and coriander powder. Cook on medium heat until the oil separates from the sides of the masala.
Combine: Pour the cooked beans (along with their cooking liquid) into the masala. Stir well.
Simmer: Use a ladle to lightly mash a small portion of the beans against the side of the pot to thicken the gravy. Simmer on low heat for 10–15 minutes.
Finish: Sprinkle Garam Masala and crushed Kasoori Methi. Stir and turn off the heat.