Blend the masala spice mixture ingredients in a food processor until coarsely ground.
Coat the lamb in the masala spice mixture, drizzle with oil, and marinate in the fridge for several hours.
Preheat the oven to 210°C and remove the lamb from the fridge 30 minutes before cooking.
Roast the lamb for 15 minutes, add 250ml water, cover with foil, and roast for 40 minutes more.
Drain the liquid and roast for another 30 to 35 minutes for medium-rare.
Add tomatoes, onions, coriander, lime, chillies, and spring onions to the lamb tray 5 minutes before finishing.
Rest the lamb after removing from the oven.
Wash and drain the rice.
Fry the onion in 40g butter until soft, stir in the rice, and transfer to an ovenproof dish.
Boil the coconut milk and milk, pour over the rice, season, and bake for 12 to 15 minutes.
Dot the remaining 30g butter over the rice and fluff with a fork after a few minutes.
Slice the lamb and serve over the rice with the vegetables and a dollop of yoghurt.