Preheat your oven to 180°C (350°F) or 160°C fan-forced.
In a bowl, rub the lamb with garlic, rosemary, oregano, salt, pepper, and olive oil. Ensure it’s evenly coated.
Place onions, carrots, water, and grape juice (or broth) in a roasting pan. Lay the lamb on top.
Cover tightly with a lid or foil and roast for 4 hours until tender. This Rosemary Garlic Lamb Shoulder with Gravy should be easy to pull apart.
Remove the lamb and let it rest for 15 minutes, loosely covered.
For the gravy, place the roasting juices on the stovetop and bring to a simmer.
Whisk in flour, then gradually add beef stock. Cook until thickened (3–4 minutes).
Strain the gravy, pressing the vegetables for extra flavor. Season to taste.
Serve the lamb with gravy, garnished with rosemary, alongside potatoes and salad.