01 - Preheat the oven to 320°F for slow roasting.
02 - Combine harissa paste, olive oil, minced garlic, cumin, coriander, smoked paprika, lemon zest, lemon juice, salt, and pepper in a mixing bowl. Stir until a thick, uniform paste forms.
03 - Pat the lamb shoulder thoroughly dry with paper towels. Rub the marinade generously over all surfaces, pressing it into the meat to ensure complete coverage.
04 - Arrange sliced red onions, carrot chunks, and halved garlic bulb in a single layer at the bottom of a large roasting pan.
05 - Place the marinated lamb shoulder directly on top of the vegetable bed.
06 - Pour the stock and white wine if using around the base of the lamb, avoiding pouring over the seasoned meat.
07 - Cover the roasting pan tightly with aluminum foil. Transfer to the oven and roast for 3½ hours until the meat begins to tenderize.
08 - Remove the foil and increase oven temperature to 390°F. Roast uncovered for an additional 30 minutes, basting once with accumulated pan juices, until the exterior develops a deep, rich caramelization and the meat pulls apart easily with a fork.
09 - Remove from the oven and let the lamb rest, loosely tented with foil, for 15 minutes to allow juices to redistribute throughout the meat.
10 - Shred the meat with two forks or carve into thick slices. Serve alongside the roasted vegetables with pan juices spooned over the top.