Peel and cut the ginger and turmeric into two pieces. Peel and cut the sweet potato and carrot into small pieces.
Rinse the lentils thoroughly then put them in a pan water. Bring to the boil, remove the foam, then add sweet potato, carrot, turmeric and ginger pieces. Bring to the boil again, reduce the heat and cook at a low temperature, under cover for about 35 minutes, stirring occasionally.
When the lentils are soft and creamy, turn off the heat. Using a hand-held blender, blend the dhal until you get textured, creamy soup. Season with salt.
Make the tadka (tempering): in small pan fry the onions and garlic in the oil until soft, then add the spices and fry for a couple of minutes over low temperature. Stir in the tomato purée and combine.
Stir the tadka into the soup. If it's too thick, add mor water. Taste and adjust the seasoning.
Serve warm, with chopped coriander leaves scattered on top.