Cook the Lentils: Place the lentils in a medium pot with 3 ½ cups of water and the salt. Bring the mixture to a boil over medium heat, then lower the heat to medium-low. Let the lentils simmer until they are fully tender and most of the water is absorbed, which should take around 15 to 20 minutes.
Prepare the Aromatic Base: Heat the butter in a large skillet over medium-high heat. Add the cumin and coriander seeds, stirring until they release their fragrance, about 1 minute. Next, toss in the sliced onion and sauté, stirring occasionally, until it turns a deep golden brown, approximately 10 minutes.
Add the Spices and Tomatoes: Stir the ginger, garlic, cilantro stems, black pepper, turmeric, chili powder, and cloves into the onion mixture. Pour in the diced tomatoes along with their juices. Allow the mixture to simmer uncovered until the tomatoes break down and the sauce becomes thick and rich, about 15 to 20 minutes. Add a splash of water if the mixture looks too dry while cooking.
Combine the Lentils and Tomato Mixture: Add the cooked lentils to the skillet with the tomato mixture. Stir everything together and let it cook for another 5 minutes to ensure the flavors meld. Finally, mix in the mango pickle, adjusting the quantity to suit your taste.
Serve and Garnish: Spoon the dhal into serving bowls over rice. Garnish each bowl with a dollop of yogurt and the reserved cilantro leaves before serving.