Preheat the oven to 170 C (325 F)
Using a sharp knife,slash the leg of lamb all over making deep cuts
Whisk together all the marinade ingredients
Massage the marinade into the lamb, pushing it into the cuts you made and all over.
Scatter onions all along the bottom of your baking sheet, then place lamb leg on the onions, putting the fattier juicer side of the leg upside down directly touching the onions.
Pour the chicken stock on the onions, then cover pan tightly with foil and place in preheated oven.
Roast for 3-4 hours . After 3 hours, check if lamb is tender by using a fork to lift a chunk of meat off the bone. If it isn't tender enough, return to the oven for another hour.
Remove foil, turn lamb around and roast uncovered for a further 30-45 minutes to brown.