Cook the beans as suggested in the notes.
In a large sauce pan, warm the oil add cumin, fennel seeds, cloves, bay leaf, cinnamon black cardamom and allow them to sizzle for a few seconds, but not browned. Then add chopped onions and cook until soft, 4-5 minutes. Add garlic, ginger and cook till fragrant. About 3 minutes on medium-low heat.
Next add the chopped tomatoes, tomato paste chilli powder, paprika, coriander powder and salt. Stir, saute to cook for 2-3 minutes on medium heat until tomatoes reduce and oil starts to separate from the mass. Add the cooked beans, garam masala and mix well.
Add upto ½ cup water if needed, it should be a thick soup like consistency to eat with rice. (see pictures) Bring the curry to a boil and lower to simmer for another 7-8 minutes. Check to taste the balance and season if needed.
Garnish with cilantro. And serve with rice or Indian breads of your choice, raita and chopped salad.