Thoroughly rinse the lentils in cold water and drain. Place in a pressure cooker and cover with water according to the manufacturer’s instructions. Cover with the lid and turn on the pressure. Cook for 20 minutes, or until the lentils are very soft. Alternatively, place the rinsed lentils in a large, heavy-based saucepan and cover with cold water so that the level of the water is 5cm/2in above the top of the lentils. Bring to the boil, reduce to a simmer, cover loosely with a lid and cook for 1½–2 hours, topping up with water and stirring regularly. When the lentils are very soft and nearly all the water has been absorbed, remove from the heat and drain thoroughly.
Put the onions in a food processor and pulse until finely chopped. Melt the butter in a large saucepan and add the onions. Fry for 8–10 minutes, or until softened and very lightly browned. Stir in the tomato purée and asafoetida. Add the tomatoes and cook, stirring frequently, for 2–3 minutes, or until soft and pulpy.
Blitz the grated ginger, garlic and chillies in a food processor until they form a paste. Add to the onions and tomatoes in the pan. Stir in the turmeric and chilli powder and cook for 5 minutes, stirring occasionally.
Add the lentils and 500ml/18fl oz of water and cook, stirring frequently, for 15–20 minutes, or until the curry is glossy and thick. Add extra water if needed to achieve the right consistency. Season with salt. Stir in most of the cream, reserving a few spoonfuls for the garnish, and half of the coriander.
Garnish with a swirl of the remaining cream, the remaining coriander and the ginger matchsticks. Serve immediately.