01 - Preheat the oven to 300°F.
02 - Pat the leg of lamb dry with paper towels. Using a sharp paring knife, make small incisions all over the lamb.
03 - Insert garlic halves into the incisions.
04 - In a small bowl, mix chopped rosemary, thyme, salt, pepper, olive oil, and lemon zest. Rub this mixture all over the lamb, ensuring an even coating.
05 - Scatter the onion, carrots, and celery in a large roasting pan. Place the lamb on top of the vegetables.
06 - Pour the wine or broth into the bottom of the pan.
07 - Cover the pan tightly with foil or a lid, and roast in the oven for 2.5 hours.
08 - Remove the cover, increase oven temperature to 400°F, and roast for an additional 1 hour, basting occasionally, until the lamb is browned and very tender.
09 - Transfer the lamb to a carving board, cover loosely with foil, and rest for 20 minutes before carving.
10 - Strain the pan juices and serve alongside the lamb.