Make the ras el hanout by blending all the spices in a small bowl. Place the lamb chunks into a large bowl and toss together with half of the ras el hanout. Cover and marinade in the refrigerator for at least 3 hours or up to 24 hours.
Preheat the oven to 150C / 300F.
In a large dutch oven, heat 2 tbsp of olive oil and brown the cubes of lamb on all sides. Remove from the dutch oven and place on a plate.
Heat the remaining 2 tbsp of olive oil in the same dutch oven. Add the finely chopped onion and the remaining ras el hanout and cook over a gentle heat for 10 minutes so that the onions are soft and about to caramelize. Add the crushed garlic for the final 3 minutes.
Add the tomato juice, chopped tomatoes, apricots, raisins, flaked almonds, saffron, chickpeas, lamb stock, honey, and lamb chunks to the Dutch oven. Bring to the boil, cover with a fitted lid, place in the oven and cook for 2-2½ hours or until the meat is meltingly tender.
Place the lamb in a large serving dish and sprinkle over the chopped herbs. Serve with a fluffy bed of couscous and warm flatbread.