Soak the channa dal in cold water for 1 hour. After an hour drain the lentils and add them to a pan with the water and the turmeric and simmer for 1 hour until they become soft and start to break up.
Meanwhile dry fry the cumin, coriander and fenugreek seeds for a couple of minutes until they start to brown and them grind them in a spice grinder.
Melt the butter in a pan and cook the onion until it becomes light brown and then add the garlic. After a minute add the chopped tomatoes, ginger and green chilli.
Cook for 10 minutes or until the tomatoes start to break down nicely and then add all of the dried spices and cook for another couple of minutes.
Add the lentils and their stock to the sauce and cook for 6 minutes until it starts to thicken up a bit and then serve.