Cook the legumes. I will share with you here my "shortcut" way of doing this-- because rajma takes much longer to cook than the two lentils, and because I don't always remember to presoak my beans, I faux-soak the rajma by covering it with 2 inches of water in a microwave-safe dish, zap it for about 10 minutes, add more water if needed, and then zap again for another 10 minutes. Then I place the legumes and the rajma in a pressure cooker and cook them together. If you don't have a pressure cooker, you can cover the lentils and the soaked rajma with water in a large saucepan, slap on a lid, and cook about an hour.
Heat the oil in a large saucepan.
Add the ginger and garlic, saute for a minute on a medium-low flame, and then add the onions.
Saute the onions until brown spots appear, about 8-10 minutes.
Add the cumin, coriander, turmeric powders and salt to taste. Add the tomatoes and saute until they are cooked down, about five minutes.
Now add the cooked lentils and stir well to mix. Add some water if the dal is too thick.
Cover with a lid and cook about 8-10 minutes for all the flavors to meld together. Crush the kasoori methi with your fingers and sprinkle over the dal. Mix in the butter and stir until it's melted into the dal.
Stir in the cilantro, turn off the heat, and serve hot.