Add soaked and strained beans in pressure cooker along with cinnamon stick, bay leaves, 3 cups of water and garam masala powder.
Pressure cook the rajma beans until tender. Set it aside.
Next, either in a mortar pestle or in mixer grinder, add green chillies, ginger and garlic. Crush everything to a coarse paste and set it aside.
In a pan, heat oil or ghee (or a mix of both). Add cumin seeds and fry for few seconds.
Add finely chopped onions and cook until onion starts getting golden. Do not over brown or burn it.
Add ground ginger-garlic-chilli paste and cook for 1-2 minutes.
Then, add red chilli powder, coriander powder, turmeric powder and pureed tomatoes and mix.
Add salt and cook for high heat for 3-4 minutes. Or until the masala starts leaving the oil.
Then, add the cooked onion tomato masala to the boiled beans and mix. You can add some more water as per the consistency you need.
Pressure cook it again with masala gravy for another 2 whistles. Let the pressure come down on own.
Finally, add sugar (optional), lemon juice, garam masala powder, kasuri methi and 1 tablespoon of butter. Mix and cook for 2-3 minutes.
Rajma masala is ready to serve. Sprinkle some chopped coriander leaves and serve it with plain rice or jeera rice, chutney, sliced onions on the side.