Melt the butter in a heavy-based pan and add the ginger, allspice, cumin, chilli powder, curry powder, and ground coriander.
Cook the spices over a low heat for three minutes while stirring continuously.
Add the vegetables to the pan and cook for another eight minutes.
Stir in the lentils, rice, and vegetable stock, then bring to the boil.
Simmer for 30 minutes until the vegetables are tender and lentils begin to break down.
Blend the soup in a processor or liquidiser until it is completely smooth.
Return the soup to the heat and stir in the coconut milk, lime juice, and fresh coriander.
Heat the soup through without letting it return to a boil and serve immediately.