01 - Set oven temperature to 300°F.
02 - Pat lamb dry with paper towels. Using a sharp knife, make deep slits throughout the leg and insert garlic slices and some chopped rosemary into each.
03 - Rub lamb evenly with olive oil, kosher salt, black pepper, remaining rosemary, and thyme if using.
04 - Place sliced onions, carrot chunks, and celery pieces in bottom of large roasting pan and lay lamb on top.
05 - Pour dry white wine or chicken broth around the lamb, avoiding pouring directly over it.
06 - Cover pan tightly with foil and roast for 3 hours.
07 - Remove foil, increase oven to 400°F, and roast uncovered for 30 minutes to develop a browned crust.
08 - Transfer lamb to a cutting board, loosely cover with foil, and let rest for 20 minutes.
09 - Strain pan juices, skim off excess fat, and serve sauce alongside sliced lamb.