Combine onions, white wine, soy sauce, lemon juice, honey, olive oil, garlic, cinnamon, salt, and pepper in a small bowl. Mix well and pour mixture all over lamb. Cover with plastic wrap and marinate in the refrigerator for 1 hour.
Preheat oven to 400 degrees F (200 degrees C).
Roast lamb in the preheated oven until browned and tender, about 1 hour 10 minutes.