Prepare all the ingredients.
Preheat the oven to 140°C (120°C fan, gas 2). Pour the oil into a roasting tin and fry the lamb leg until browned on all sides. Season with salt and pepper. Pour over the stock and cook the leg in the preheated oven for 3-31/2 hours.
Meanwhile, peel the shallots and garlic.
After about 2 hours of cooking time, sprinkle the shallots, garlic and rosemary around the lamb. Turn the leg over several times and, if necessary, add more stock.
At the end of the cooking time, remove the leg from the roaster and wrap in foil to rest. Pour the roasting juices into a saucepan and bring to the boil. Season with salt and pepper. Thicken with a little cornflour if needed.
Carve the meat from the leg bone and serve on plates with the sauce and vegetables.