Mix all of the above ingredients except for the red wine and make incisions all over the lamb shoulder. Using your fingers, push pinches of the mixture into the incisions and then rub the remainder of the marinade all over the meat. Place in a large freezer bag or some other covered container and marinate the meat in the refrigerator overnight.
Take the meat out the refrigerator and let it come to room temperature.
Heat the oven to 200C (400F). Place the meat in a covered clay pot or foil covered roasting pan, add the red wine and roast for 20 minutes. Turn the oven down to 160C (325F) and roast for 2-3 hours until falling off the bone. Drain the fat from the sauce and serve over the lamb.