Wash and soak lentils in a bowl of water for 2 hours. You can soak them longer upto 8-10 hours. All grains, legumes, nuts and seeds contain anti-nutrients that require neutralization- soaking helps negate this affect and makes it easier to digest.
Pressure cook soaked lentils under high pressure for about 30 minutes (if you do not own an Instant Pot, any pressure cooker will do).
Make sure that the steel container of the Instant Pot is dry and set it on 'sauté' mode. Add oil and wait for the 'hot' sign to show up. (again, if you do not own an Instant Pot, not a problem, you can use any pan to sauté).
Add onions and ginger/garlic paste. Sauté till onions turn slightly brown. Add turmeric, red chili powder (or cayenne pepper), tomatoes and salt. Mix well and cook the contents for 5 to 7 minutes, stirring occasionally. Now add garam masala, coriander powder and mix again. Continue cooking the contents for 2 to 3 minutes.
Add the pressure-cooked lentils. Add more water if you prefer the dal less thick. Add butter, mix well and cook till the contents come to a simmer.
Transfer to a bowl and serve with Brown Jeera Rice and salad on the side.