Blitz the marinade ingredients to a smooth paste in a food processor, then set aside. Using a sharp knife, make about 10 incisions, roughly 4cm deep, all over the lamb, then poke a few curry leaves into each one. Place the lamb into a snug-fitting roasting tray and massage all over with half the paste. Pour the remaining paste in and around the tray, then cover with cling film and place in the fridge to marinate for at least 2 hours, but preferably overnight.
Preheat the oven to 220ºC/425ºF/gas 7. Remove the lamb from the fridge and allow to come up to room temperature.
Drizzle the lamb with olive oil and add a splash of water to the tray, then place in the hot oven for 3 to 4 hours, or until the meat falls away from the bone, reducing the temperature to 130ºC/250ºF/gas ½ after the first 30 minutes.
Once cooked, remove the lamb to a board, cover with tin foil and leave to rest for around 15 minutes. Meanwhile, make the sauce. Finely slice the ginger, garlic and chilli. Transfer any excess fat from the roasting tray to a small jar to use another time, then place the tray over a medium heat on the hob. Add the mustard seeds and curry leaves and cook for 1 minute, before adding the ginger, garlic and chilli. Cook for a further 2 to 3 minutes, or until softened and lightly golden. Roughly chop and add the tomatoes, then stir in the coconut milk and simmer for a few minutes, or until thickened and reduced, stirring occasionally. Season to taste with salt, pepper and a splash of vinegar or a squeeze of lemon juice, then transfer to a large serving platter. Place the lamb on top, pick over the coriander leaves and drizzle with extra virgin olive oil, then bring to the table with rice, warmed chapatis and poppadoms.