Add the cumin seeds, coriander seeds, fenugreek seeds, mustard seeds and peppercorns to a dry frying pan - toast for 1-2 minutes until they start to dance around the pan. Remove and add to a pestle & mortar or spice grinder and grind to a powder. Stir in the chilli powder, turmeric and salt and set aside.
Cooking the daal
Add the daal and spice powder to a pan and cover with the water. Bring to a boil, reduce the heat and cook gently (covered) for 30 minutes (stirring regularly) until the daal is tender and smooth. Remove from the heat.
NOTE: Different daal absorb water differently, so you may need to adjust your water accordingly. My recipe follows a 1:4 ratio, but you may need to either add a little more water or reduce for a while to get the right consistency. You want a thickish, creamy consistency (like a loose porridge) when cooked. If the daal is too thick, add more water and if it's too thin, reduce until thicker. Towards the end of cooking it may stick to the bottom of the pan so keep a keen eye on it.
Making the tadka
Heat the ghee in a pan until hot then add the curry leaves and cumin seeds, quickly followed by the garlic and ginger. Sizzle briefly before adding the onion and cook for 1-2 minutes.
Add the tomato and sliced chillies and stir-fry for 30 seconds. Remove from the heat and tip all the contents into the daal and stir well. Sprinkle over the cilantro and serve with lime wedges.
Serve hot over rice with lime wedges, accompanied by Indian breads or alongside other Indian dishes as part of a larger feast.