Soak daal overnight in salted water (or rinse thoroughly if short on time)
Cook daal in 4L water, bring to a boil and cook for 2-3 hours until the centres of the daal are soft and creamy
Mix garlic paste, ginger paste, tomato purée, salt, chilli powder, and garam masala in a bowl
Drain daal, add fresh boiling water to cover by 3-4cm. Add the spice paste and butter then cook on medium-high for 30 mins, stirring constantly
Simmer on low for 1-1½ hours, stirring frequently and adding water as needed to ensure the grains are covered
When the daal is thick and creamy, add the double cream and cook for another 15 minutes before transferring to bowls
Serve with naan or chapatis