Put the lentils in a strainer and rinse them under running water. Add them to a bowl, cover with water and let soak for 30 minutes. Drain and set aside.
In a medium saucepan, combine 2 cups of water, the onions, garlic, ginger, tomatoes, chile, if using, and the lentils. Bring to a boil over medium-high heat. Skim any scum from the surface. DO NOT ADD SALT YET; it will toughen the lentils, thereby lengthening their cooking time. Lower the heat, cover the pot with a lid and gently simmer until the lentils are tender, almost translucent, and almost falling apart, about 30 to 40 minutes.
Whisk the lentils, releasing its natural starch, and mash some them so the mixture becomes thick. Add salt, to taste.
Tempering oil (bagaar): In a small bowl, combine the cumin and mustard seeds. In another bowl, combine the spice powders. Have all the ingredients ready because this will move very fast!
In a small skillet, over a medium-high flame, warm 1 tablespoon vegetable oil. Once the oil is shimmering, add seeds and immediately cover so you don't get covered in spluttering oil and seeds! Add the spices. They should sizzle and bubble a little - that's the blooming and it's exactly what you want. Don't let them burn. The mixture should bloom for about 30 seconds, no more.
Pour the oil mixture into the lentils, standing back so you don't get hurt when the mixture splutters again. Stir to combine. Transfer the lentils to a serving dish and garnish with cilantro.