If you’re making the harissa, tip the dried chillies into a heatproof bowl and pour over just enough boiled water from the kettle to cover. Cover the bowl and leave to cool. Once cool enough to handle, drain the chillies, reserving the water. Remove any stalks and pat dry with kitchen paper. Tip the chillies into a food processor with the garlic, 1 tsp salt, the olive oil, spices and vinegar, and blitz to a purée. If needed, add a little of the reserved water to loosen. Will keep, chilled, for up to a month.
Make 15 cuts, about 3-5cm long, all over the lamb. Reserve 1 tbsp of the harissa paste, then rub the rest all over the lamb and into the cuts. Scatter the onions into a large roasting tin and sit the lamb on top. Leave at room temperature for 1 hr, or cover and chill overnight.
Heat the oven to 160C/140C fan/gas 2. Roast the lamb for 4-5 hrs until the meat is fork-tender. Lift the lamb out onto a large board or serving plate. If the tin is flameproof, pour in the stock; if not, tip the contents of the tin into a saucepan first. Bring to the boil, scrape up any browned bits using a wooden spoon, and cook until the liquid is reduced by about a third – it should be a thick, rich onion gravy. Stir in the reserved harissa and the chopped coriander. Serve the lamb with the onion gravy.