Put the lamb into a bowl, add all the dry spices and mix together well. Cover and leave to stand in a cool place for at least 3 hours and preferably overnight.
Heat the oven to 160ºc. Heat the olive oil in a deep, heavy-based casserole dish, add the seasoned meat and fry to brown on all sides. Do this in batches if necessary, to avoid overcrowding and steaming the meat instead. Remove using tongs or a slotted spoon when it is browned nicely on all sides.
Add the onions and garlic to the pan and fry gently, over a low-to moderate heat for 5-10minutes, until softened but not brown. Move around the pan regularly and add a little more oil if necessary.
Add the tomato pure and stir. Continue to cook for a further 30 seconds before adding the stock, honey, saffron, apricots and chopped tomatoes. Season with a grind of salt and pepper, give everything a good stir. Return the lamb to the casserole, turn up the heat and let it bubble for a minute or two.
Put a lid on, transfer to the oven and slowly cook for 2.5-3 hours.
When it is ready, remove from the oven, stir in the fresh coriander and mint. Cut the preserved lemon in half, discarding the pulp, finely chop the skin and stir into the casserole./ Alternatively, grate the lemon zest into the stew and stir.