Heat the oil in a large, heavy-based saucepan. Add the onion and stir-fry over a medium heat for 4–5 minutes. Stir in the ginger, garlic, cinnamon, curry leaves, curry powder, ground coriander, turmeric and chilli powder. Stir-fry for 2–3 minutes and then add the lamb.
Stir-fry for 2–3 minutes and then stir in the coconut milk and stock. Bring to the boil, season well and cover tightly. Cook over a very low heat (using a heat diffuser if possible), stirring occasionally, for 1½–2 hours or until the lamb is tender. Remove from the heat and sprinkle over the grated coconut and chopped fresh coriander before serving.