In a pot over medium heat with some oil, fry onions until soft and fragrant. Add in minced garlic, turmeric powder and curry powder. Cook for 1 minute then add in tomato, potato, carrot, dhal and water. Bring to a boil, cover with a lid and let simmer for 1 hour. Stir occasionally to prevent the lentils from burning.
Temper the spices
Heat a small pan with some oil over medium heat. Once the oil is hot, add in mustard seed. Once it crackles, add in fennel seed, curry leaves and dried chili. Fry for a few minutes until fragrant.
Pour everything into the dhal, and season with salt to taste.
Serve warm with roti canai or rice.
Notes
You can also soak the dhal for 15-20 minutes, so that it breaks down even faster. However, I usually skip the presoak.