Start by soaking your lentils. Put in a pan or bowl, cover with water and leave for 12-24 hours. Drain.
Transfer the lentils to a saucepan and cover with 1.5 litres fresh water. Put on a medium heat, bring to the boil then simmer for 1.5 hours, until soft.
In a large pan, melt the butter over a medium heat. Add the cinnamon stick, garam masala, ground coriander and cumin seeds. Sizzle for 2 minutes, then add the tomato puree. Stir in and cook for another 3 minutes, stirring frequently.
Pour in the cream and add the salt. Tip in the lentils and 500ml more water. Stir, then cover with a lid and simmer for 30 minutes, until mushy.
Serve drizzled with a little more cream, if you like.