Cut the beef into 4cm cubes and place into a large bowl with the ginger, saffron and coriander. Drizzle over 1 tbsp of oil, mix well, cover with cling film and refrigerate for 6 hours or overnight.
In a medium saucepan with boiling water, cook the shallots for 2 minutes, drain, refresh in cold water and peel.
Once the beef has been marinated, heat the remaining oil in a heavy based flameproof casserole dish and start to brown the meat for approx 5 minutes.
Stir in the flour with the tomato puree and continue to cook for a further 2 minutes stirring continuously.
Add the onions, olives, stock, parsley and cinnamon. Season with salt and pepper, mix and bring to the boil.
Cover with a lid and cook in a preheated oven at 180ºC/350ºF/Gas mark 4 for 90 minutes, stirring occasionally.
Discard the cinnamon stick and add the honey with the apricots. Stir and place back into the oven for another 20 minutes.