Make the marinade in advance, preferably the day before.
In a mortar and pestle or small food processor, combine the lemon zest, lemon juice, anchovies, parsley, and garlic cloves. Bash or blend into a thick paste. Add a splash of anchovy oil (or olive oil) to loosen the mixture slightly.
Prepare your roasting tray by placing the onion quarters, halved garlic, and half the rosemary and thyme in the base. Lay the lamb leg on top.
Spread the marinade all over the lamb and season generously with salt and pepper. Place the rest of the herbs and garlic on top of the meat. Cover the tray tightly with foil and refrigerate overnight.
If you're short on time, marinate the lamb for at least 1–2 hours at room temperature before roasting.
Preheat the oven to its highest setting and take the lamb out of the fridge to come to room temperature.
Pour the stock and wine into the roasting tray and recover with the same foil you stored the lamb in overnight.
Roast the lamb at high heat for 5 minutes, then reduce the oven temperature to 170°C (fan) and roast for 4 hours—without opening the oven or checking the meat.
After 4 hours, remove the lamb from the oven. Transfer it to a smaller roasting tray and return it to the oven for 10–15 minutes to brown. You can turn the oven temperature up slightly if needed—just watch closely to avoid burning.
Once browned to your liking, take the lamb out, cover it loosely with the same foil, and let it rest while you make the gravy.