Allow lamb to come to room temperature. Trim the lamb of any excess fat, leaving a thin layer.
Cut slits into top of the leg. Fill slits with sliced garlic and rosemary. Season all over with salt and pepper.
Place the onions, carrots, potatoes and remaining garlic, into a roasting pan or Dutch oven. Toss with olive oil and salt and pepper.
Place the lamb on top and cover in butter. Place in the oven.
Cook about 1 to 1.5 hours or until the lamb reaches your desired doneness, which will depend on the thickness of the cut. (125°F for rare, 130-135°F for medium rare, 140-145°F for medium and 155-165°F for well).
Let rest at least 20 minutes.
Serve with roasted vegetables and if desired, make gravy with the pan drippings.