Heat oven to 180C/160C fan/gas 4. Trim the lamb of any hard fat, cut into chunks and season all over. Heat 1 tbsp of the oil in a large flameproof casserole dish and brown the lamb in 3-4 batches over a high heat for 1-2 mins until lightly coloured. Add 1 tbsp more oil between each batch and transfer to a bowl each time a batch is browned.
Heat the remaining oil in the same dish over a medium heat and fry the onions for 5 mins or until softened and lightly coloured. Stir in the garlic, cumin, coriander, chilli powder, turmeric, 1 tsp ground black pepper and 1 tsp flaked sea salt. Cook for 1 min, stirring. Return the lamb to the dish and add 1.5 litres of water, the saffron, cinnamon and lemons. Bring to a simmer, stirring a few times. Cover with a lid and transfer to the oven. Cook for 1 hr.
Carefully remove the dish from the oven and stir in the apricots, dates and half the pistachios, then cover once more and return to the oven. Cook for a further 30 mins or until the lamb is very tender.
Transfer the dish to the hob and adjust the seasoning to taste. Mix the cornflour with the rosewater and 3 tbsp cold water, then stir into the tagine. Cook over a medium heat for 1-2 mins or until the sauce thickens. (Thickening the sauce with cornflour isn’t traditional but helps the tagine to freeze more successfully.) When ready to serve, roughly chop the remaining nuts and sprinkle over the top. Garnish with coriander and serve with couscous or rice.