1. In a large bowl, combine the olive oil, onion, garlic, lemon, and rosemary. Add the lamb, turning to coat. Cover and let marinate overnight in the refrigerator, turning occasionally.
2. Preheat the oven to 450°F.
3. Remove the lamb from the marinade and season liberally with salt and pepper (discard the marinade). Place the lamb fat side down on a rack in a roasting pan. Pour 1 cup of the wine into the pan and scatter the olives, shallots, and prunes around the lamb.
4. Place in the oven and roast for 45 minutes. Lower the heat to 375°F, turn the lamb over, and cook for about 30 minutes more, or until a thermometer inserted in the thickest part of the leg reads 135°F. Transfer the lamb to a cutting board and allow to rest for 10 minutes before slicing.
5. Meanwhile, pour the contents of the roasting pan into a 4-quart saucepan. Deglaze the roasting pan with the remaining 1 cup wine, scraping up the browned bits in the bottom of the pan, and add to the saucepan. Bring to a boil and boil for 3 minutes to thicken slightly.
6. Slice the lamb and arrange on warmed plates. Spoon some sauce over each portion, and serve the remainder on the side.