First, stud the lamb with garlic and rosemary. Using a sharp knife, make at least 30 small cuts all over the meat. Peel 4 garlic cloves, finely slice and stick a slice into each cut. Next, stick small sprigs of rosemary into the cuts. This can be done in advance, cover the lamb and place in the fridge until ready to cook. Take out of the fridge 1 hour before roasting.
Preheat the oven to 1706C fan/gas 5. Heat a large frying pan, add a little oil and brown the lamb thoroughly. Tip the carrot, onion, remaining garlic and rosemary into a large roasting tin, pour in the wine and stock, then add the browned lamb to the tin.
Roast for about 1 hr 45 mins, turning the lamb halfway through. When cooked, take the lamb out and allow to rest covered in foil for about half an hour.
Meanwhile, make the gravy. Sieve the stock from the tin into a saucepan to remove all the vegetables and herbs. Reduce it a little over a medium heat, skimming off any fat that comes to the surface. Serve the lamb with the gravy, roast potatoes and buttered carrots.