Preheat the oven to 160°C (140°C fan-forced). Place the lamb in a large baking dish. Mince the garlic straight over the lamb, then add the garam masala, cardamom and a big pinch of salt and pepper. Drizzle over a glug of olive oil, then massage the lot into the meat.
Pour the coconut milk and 1 cup of water over the lamb. Cover and roast for 3 hours, then remove the cover and continue to roast for a further 2-3 hours.
In the last hour of cooking, scatter the sweet potato in the base of the dish and roast, uncovered, until the sweet potato is tender and the lamb falls away from the bone.
Serve lamb and sweet potato straight from the baking dish, with coriander and coconut on top. Add pomegranate seeds as a pretty topper, if you like.