Mix all the pulses/dal and soak them overnight. Next, boil them until well done. You can use a pressure cooker, but the cooking time will vary depending on the cooker. Drain the excess water and set the dal aside.
Heat oil in (preferably) a cast iron skillet.
Add onions and continue to cook until translucent, stirring occasionally.
Add ginger, garlic and chilies and cook until fragrant.
Now add the chopped tomatoes and cook until soft.
Add the boiled lentils (no water).
Sprinkle chili powder, coriander powder, cumin powder, garam masala powder and salt and continue to cook over high heat, stirring occasionally, until oil separates.
Sprinkle kasoori methi.
Add butter, ghee, and chopped coriander leaves and remove from heat.