Place the lentils in a strainer and wash well under cold running water. Drain and place in a large saucepan with 3 1/2 cups of the stock, the carrots, onions. tomatoes and garlic. Bring the mixture to a boil. reduce the heat, cover and simmer for 30 minutes or until the vegetables and lentils are tender.
Meanwhile, heat the ghee or oil in a small saucepan. Add the cumin, cilantro, chili and turmeric and fry gently for 1 minute. Remove from the heat and stir in the lemon juice and salt to taste.
Purée the soup in batches in a blender or food processor. Return the soup to the pot, add the spice mixture and the remaining stock or water and simmer for 10 minutes.
Add the milk, taste and adjust the seasoning, if necessary. Stir in the chopped cilantro and reheat gently. Serve hot, with a swirl of yogurt.