1/8teaspoonred chilli pepper or cayenne(more to taste)
chopped cilantro(optional garnish)
Rinse the kidney beans and put them in a large pot or pressure cooker along with 6 cups water, the ginger root, and the salt. Bring to a boil and boil for 1 minute. (In a pressure cooker, bring to high pressure and then remove from heat.)
Remove from heat and allow the beans to rest, covered, for at least 1 hour. Drain the water, add another 6 cups of water, and bring to a boil. Simmer until beans are tender, about an hour. (Alternately, pressure cook the beans: bring to high pressure and cook for 8-10 minutes. Remove from heat and allow pressure to come down naturally.) When the beans are done, leave them in their cooking liquid while you make the sauce.
Heat a non-stick saucepan over medium-high heat until hot. Add the minced onion, and cook until it’s beginning to brown, stirring constantly. Add the garlic and ajwain and stir for 1 minute. Add the tomatoes and cook until their liquid has evaporated, about 5 minutes. Stir in the non-dairy yogurt and the coriander, fenugreek, turmeric, garam masala, and chilli pepper.
Drain 2 cups of liquid from the beans and stir half of it into the sauce. Add the sauce to the beans and stir. If the sauce is too thick or dry, add some or all of the reserved bean cooking liquid. Simmer over low heat, stirring occasionally, for at least 20 minutes, until the sauce has thickened and flavors have blended. Check seasonings and add salt to taste. Transfer to a serving dish, garnish with cilantro if you like, and serve with basmati rice or chapatis, paranthas, or naan.
I’m sure you could use canned beans instead of cooking them from dry. I would probably start with step 3 and add the ginger with the garlic and put 2 cups of water into the sauce. Then I’d add 3 or 4 cans of kidney beans that had been rinsed and drained. Simmer for about an hour, adding water as needed. I don’t think they’ll break down or get as soft as dried, but if you want, you can mash some of the beans to thicken the gravy.