Arrange the onion over the base of a large roasting pan and place lamb on top of onions. Using a small, sharp knife make incisions over lamb and press garlic into holes.
In a small bowl combine 1 tablespoon oil, rosemary and thyme. Drizzle marinade over lamb, season and pour wine and stock around the base. Cook lamb, uncovered, for 30 minutes.
Cover with foil and cook for a further 3-3 ½ hours or until meat is tender and falling off the bone, adding a little more stock during the cooking time, if necessary. Remove from oven and rest for 20 minutes.
Spread potatoes onto a baking tray, drizzle with 1 tablespoon oil, season and toss to coat. Add to oven when lamb has 45 minutes cook time remaining and cook for 40-45 minutes, or until golden and tender, turning halfway.
In a large bowl combine cabbage, currants, peas, pecorino, remaining oil, balsamic and mint. Season and toss to coat.
Serve lamb with onions, cabbage salad and potatoes. Drizzle with pan juices.
Try swapping shoulder for leg of lamb for a tasty alternative – cooking time should be approximately half for a leg of lamb.
Add brussels sprouts, carrots or parsnips to the potatoes for extra vegetables that can be used in a lamb salad the next day.
Leftover lamb is delicious gently warmed to serve with your favourite pasta and sauce, in nachos, tacos (serve with lettuce, tomato, grated cheese and taco sauce) or shredded into a minestrone soup.