01 - Preheat the oven to 320°F.
02 - In a bowl, combine harissa paste, olive oil, minced garlic, cumin, coriander, smoked paprika, lemon zest and juice, salt, and pepper to make a thick marinade.
03 - Pat the lamb shoulder dry with paper towels. Rub the marinade generously all over the lamb, ensuring every surface is coated.
04 - Arrange the red onion slices, carrot chunks, and halved garlic bulb in the base of a large roasting pan. Place the marinated lamb shoulder on top of the vegetables.
05 - Pour the stock and wine (if using) around the lamb, not over it.
06 - Cover the roasting pan tightly with foil and roast in the oven for 3½ hours.
07 - Remove the foil and increase the oven temperature to 390°F. Roast uncovered for an additional 30 minutes, basting once with the pan juices, until the lamb is deeply caramelized and the meat is tender enough to pull apart with a fork.
08 - Rest the lamb, loosely covered with foil, for 15 minutes before serving. Shred or carve and serve with the roasted vegetables and pan juices.