Heat the oil in a saucepan, add the onion, garlic, ginger, lime rind and chilli and cook over a low heat, stirring frequently, for 5 minutes until the onion is softened. Add the sweet potatoes and cook, stirring frequently, for 5 minutes.
Stir in the stock, coconut milk, lime juice and salt and pepper. Bring to the boil, then reduce the heat, cover and simmer gently for 15 minutes, or until the potatoes are tender.
Transfer half the soup to a food processor or blender and process until smooth. Return to the pan, stir in the spinach and cook until just wilted. Adjust the seasoning and serve immediately.