Pre-heat oven to 200◦c. Remove lamb from the refrigerator 30 minutes before cooking and allow to come to room temperature.
Use a small, sharp knife to cut 12 1cm deep slits in the top of the lamb. Press a piece of garlic and a rosemary sprig into each slit.
Place onions and oranges around the base of the roasting pan. Place lamb on top. Drizzle with oil and season well with salt and pepper. Roast for 1 hour 15 minutes or until cooked to your liking.
Meanwhile, remove lamb and vegetables from pan, cover loosely with foil. Skim fat from pan, leaving 1 tbsp in pan. Add flour. Cook, stirring, for 3-4 minutes or until bubbling. Combine stock, wine and lamb juices in a jug. Slowly add mixture to pan, stirring on a low heat for 2-3 minutes. Add pepper and chocolate, stirring until melted. Add butter, stir until thickened.
Serve lamb and sauce with roast vegetables and green beans.
For a bit more of a kick, use chilli powder for a chocolate chilli sauce.