In a large saucepan with a lid, bring the water, lentils, salt, turmeric, and chili powder to a gentle simmer. Cover and reduce heat to lowest setting for 20 minutes. If preparing rice, start now.
Once the lentils are softened and the water has been absorbed, turn off the heat and set aside until the rest of the dish is ready.
In a small pot, melt the butter over medium heat. Once melted and bubbling lightly, add the diced onion. Cook until lightly golden brown and beginning to bubble (about 7 minutes). Once the onions reach this stage, add the garlic and ginger and stir. Cook for 1 minute.
Add the chopped tomato and its juices to the onion mixture. Cook for an additional 5 minutes. The colour of the onions will begin to take on the colour of the tomato and turn orange and the butter will begin to separate and bubble again.
Once the lentils are cooked and the onion-tomato mixture is done, combine them both in the larger saucepan. Add the garam masala and yogurt, mixing well before serving.
Serve with additional yogurt to taste and fresh cilantro over fresh basmati rice or alongside naan/flatbread.