The previous evening, (or at least 2 hours before), soak the urad dal in water.
To cook: drain the urad dal, then boil in fresh water for 45 minutes.
Whilst this is happening, start preparation for the rest of the daal. Mix all the spices together, along with the salt. Note that the spices are in TABLEspoons, not TEAspoons (more spice = yum).
Pour the kidney beans into a bowl, and mash.
Dice the onions. In a large pot, fry the onions. After 5 minutes, add 25g of margarine and 25g of sugar and constantly stir.
Pour in the garlic and ginger mixture. After 2 minutes, pour in the spices, and stir constantly. After another minute, add the tomato puree and 250ml of water.
Turn the mixture up to boil, topping up with water if it's getting low, until the urad dal finishes cooking.
Add the urad dal (including the water it cooked in), the kidney beans and the last 25g of sugar. Cover the pot and let it simmer for 20 minutes. Start preparing the rice.
Add the last 25g of margarine and the coconut milk, and continue to simmer for another 10 minutes.