For the lamb shank tagine, preheat the oven to 160C/325F/Gas 3.
Heat a large tagine pan or a large ovenproof dish. Season the lamb shanks all over with salt and pepper. Pour in the olive oil and, once hot, fry the lamb shanks all over until golden-brown. Remove them from the pan and set aside.
In the same pan you used to fry the shanks, add the onion and garlic and fry for 2-3 minutes.
Add the ras-el-hanout, harissa, cinnamon sticks, ground ginger, smoked sweet paprika, ground cumin, freshly ground black pepper and ground turmeric and cook for a further two minutes.
Add the lamb shanks back to the pan and stir well, then add all of the remaining tagine ingredients - except a few of the flaked almonds for garnish.
Reduce the heat, cover the pan with a lid and cook in the oven for two hours, or until the lamb is tender.
Remove the lid and cook for a further 30 minutes, or until the tagine is slightly thickened.
For the tabbouleh, place the bulgur wheat into a pan with the chicken stock. Bring to the boil, then reduce the heat to a simmer. Cover the pan with a lid and cook for 15-20 minutes over a low heat. When the bulgur wheat is tender, drain off the excess stock.
Remove from the heat and allow to cool slightly, and then transfer the bulgur wheat to a bowl. Add the red onion, pistachios, lemon juice and zest, pomegranate, olive oil and herbs and mix well. Season, to taste, with salt and freshly ground black pepper.
To serve, divide the tabbouleh among four serving plates, and then spoon the lamb shank tagine alongside. Chop the coriander cress and sprinkle over the tagine along with the flaked almonds.