To prep the meat, make small incisions using a sharp knife all over the meat to create small cavities (remember make incisions in the back of the meat as well).
Fill the cavities with rosemary and peeled garlic (slice the garlic into slivers if it's too large), then rub the meat with olive oil and add salt and pepper.
You may want to sprinkle some dried thyme on top.
Let the meat sit for about an hour at room temperature before roasting it. You could also marinate the meat overnight by wrapping it in film and placing in the fridge.
If you marinate the meat overnight, take it out of the fridge and let it sit a couple of hours at room temperature before roasting it.
To cook the meat, carefully put the roast on a roasting tray placed inside a large baking tray. This will allow you to collect the juices of the roast in the baking tray and you might wish to cook with them, make a gravy, or discard at the end of the roasting.
Cut the onions in half, add the unpeeled garlic cloves and potatoes under the lamb's roasting tray so they roast in the lamb juices.
Place your roast in an oven pre-heated to 200 °C, and let it roast for 1 hour and 30 minutes for medium. Increase the cook time by 15 minutes or more to achieve your desired doneness of the meat if you don't like to serve it and eat it pink.
When the cook time has finished, turn on the broiler in your oven and roast for about 5 more mins (Make sure you're watching it the whole time though to prevent the meat from burning!).
Take the roast out of the oven when the top is crispy and golden. Let it rest for 15 minutes before serving. Take out the roasted potatoes, garlic and onions from the roasting pan and drain off any excess fat while the meat is resting.
To serve, carve the meat with a sharp carving knife and cut thin slices of the meat. Serve alongside the roasted potatoes and garlic and onions. Bon appétit!