Preheat oven to 250°C/525°F/Gas Mark 7. Place the lamb shanks in a deep-sided casserole dish and roast 20 minutes until browned on all sides. While the lamb is browning, heat oil in a frying pan, add onions and garlic and sauté 3 minutes. Add red wine and bring to the boil.
When lamb has browned drain off the fat and place shanks back into the casserole dish. Pour wine mixture over lamb. Add all the other ingredients to the casserole dish except dates, ensuring that the meat is covered by the stock, add extra hot water if required. Cover and put in the oven, turning it down to 170°C/340°F/Gas Mark 3-4. Cook 2 hours, then add dates and stir well. Return to the oven and cook a further 20 minutes. Season to taste and serve. Boiled potatoes or cous cous are ideal with this.