Wash then soak the urid lentils and channa dal in plenty of cold water overnight (at least 8 hours). This significantly reduces cooking time and improves texture.
Drain and rinse the soaked lentils. Place in a bowl with a little water and two teaspoons of salt. Rub together for a minute then rinse thoroughly several times. This cleans the lentils and removes surface starch.
Place the cleaned lentils in a large, heavy-bottomed pot. Cover with cold water and bring to the boil. Boil vigorously for 10 minutes, skimming off any foam that rises to the surface. Drain and set aside.
Return the pot to the heat. Add the vegetable oil and when hot fry the ginger paste for 2 minutes, stirring constantly, until fragrant.
Add the red chilli powder and tomato purée. Stir well and cook for 3-4 minutes until the tomato purée darkens slightly and the oil begins to separate.
Add the drained lentils back to the pot along with the ghee, butter and salt. Pour in enough water to cover generously — approximately 600-800ml.
Bring to a boil then reduce to the lowest possible simmer. Cook uncovered for at least 5 hours, stirring every 30-45 minutes and adding small amounts of water if the dal becomes too thick. The longer it cooks, the better it tastes — 7-8 hours is ideal if time allows.
The dal is ready when the lentils are completely soft and breaking down, and the sauce has thickened to a rich, creamy consistency. The colour should be a deep reddish-brown.
Just before serving, stir in the double cream and crumble in the kasuri methi between your palms (crushing releases more flavour). Taste and adjust salt.
Serve hot with naan, roti or plain basmati rice.