Preheat the oven to 230C/ 450F/Gas 8.
Using a small sharp pointed knife make a series of small deep slits about 1½ inches apart all over the leg of lamb and insert a sliver of garlic and a small sprig of rosemary.
Rub the meat with softened butter and place it in a roasting tin. Pour over some olive oil and cook for about 30 minutes.
While the meat is cooking, peel and finely slice the potatoes and onions. Mix them together in a bowl and season.
After the first half-hour, take the meat from the oven and lift it out of the tin.
Layer the potatoes and onions in the fat and pour over the stock. Return the roasting tin to the low shelf and place the lamb on the shelf immediately above - so that the juices will 'weep' onto the potatoes.
Roast for about another hour depending on how well you like your meat cooked. Serve with a dressed green salad.