Sift through the lentils and remove any pebbles. Soak the lentils in cold water for 15 minutes and then drain them.
Heat the coconut oil in a heavy, deep frying pan over medium-high heat. Once the oil is shimmering, add the onions and season with a pinch of salt, and cook for 5 to 7 minutes, until softened and starting to turn golden brown on the edges.
Add the garlic, ginger and serrano pepper. Cook for 60-90 seconds, or until garlic is lightly browned and the mixture is very fragrant. Add the curry powder, garam masala, coriander, and turmeric and stir to coat into the onions, and cook for about 30 seconds, stirring almost constantly.
Deglaze the pan with the water (I use about 2 cups at this stage), scraping up any browned bits on the bottom of the pan. Add the soaked and drained lentils, 1 teaspoon kosher salt, and black pepper to taste. Stir to combine.
Bring the dal to a boil. Then lower the heat and partially cover the pan with a lid (if your lid has a small hole on top to allow steam to escape, you can fully cover the pan). Simmer the dal for 30 minutes, or until the lentils are fully cooked through, stirring occasionally and adding more water as needed to add adequate moisture/liquid to the dal.NOTE: Depending on your lentil variety, the cook time might vary from 25 to 35 minutes. Add the diced tomatoes and cook for 4-5 minutes, or until they’ve cooked down and are basically blended into the dal. If using fresh tomatoes, cook them until soft and broken down (fresh needs more time than canned). NOTE: If you want the dal to be thicker/creamier, run an immersion blender through some of the dal, but keep some lentils whole. It will also thicken more upon resting. Finally, stir in the chopped cilantro. Taste, adding more salt as needed. When the dal is done, make the tadka. Heat a small frying pan or tempering pan over medium heat on the stove. Add the 1 1/2 - 2 tablespoons of the coconut oil and, once it’s hot and shimmering, add the mustard seeds. Once the mustard seeds start popping (30 to 60 seconds), add the cumin seeds for a few seconds. Finally, add the curry leaves, dried red chile peppers (if using) and asafetida (if using). Keep stirring or shaking/swirling the pan to help cook the spices evenly and to prevent burning, 20 to 30 more seconds, or until very aromatic and the curry leaves have shriveled, the chili peppers and cumin seeds have turned darker. Remove from the heat immediately to prevent overcooking.
Pour the tadka over the dal and stir to combine. If desired, garnish with additional fresh cilantro and taste for seasonings. Serve with white rice and other optional toppings, if desired.