Preheat your oven to 375°F (190°C).
In a small bowl, whisk together the lemon zest, lemon juice, minced garlic, chopped rosemary, half of the olive oil, salt, and black pepper to create the herb rub.
Rub the boneless leg of lamb evenly with the lemon herb mixture and place it in the center of a large roasting pan.
Arrange the baby potatoes, red onions, and white onions around the lamb in the pan. Drizzle the vegetables with the remaining olive oil and season with salt and pepper.
Roast in the preheated oven for about 1 hour and 15 minutes, or until a meat thermometer inserted into the thickest part of the lamb registers 135°F for medium-rare.
During the last 15 minutes of the roasting time, add the trimmed asparagus to the pan with the other vegetables.
Remove the roasting pan from the oven. Transfer the lamb to a cutting board, tent loosely with foil, and let it rest for 15 minutes before slicing.
Slice the rested lamb and serve immediately alongside the roasted root vegetables, asparagus, and pan drippings.