Heat the oven to Gas 7, 210°C, fan190°C.
Heat the oil in a small pan and fry the onion for 5 minutes until soft, then mash to a puree. Add the chopped dates and stir in thoroughly. Add the rosemary, almonds, cinnamon and cumin to the pan, and season.
Cut 6 large slashes in the fleshiest side of the lamb leg, through to the bone. Stuff the date mixture into the slashes. Season the lamb and place in a roasting tin with 250ml water.
Roast for 15 minutes, then reduce the heat to Gas 5, 190°C, fan170°C and cover loosely with foil. Roast for a further 1 hour 15 minutes for a medium-cooked lamb, or 1 hour 30 minutes for well- done. Top up the water occasionally if it evaporates to prevent the juices from burning. Remove foil 30 minutes before end.
Remove the lamb from the tin, place on a plate, cover loosely with foil and leave to rest for 15 minutes while making the gravy.
Skim the fat and discard. Place the tin on the hob and add the flour. Stir for 1 minute then gradually pour in the stock.
Simmer until it has reduced, then strain the liquid into a gravy boat before serving.