Place lamb shanks and flour in a large bowl and toss to coat, then season with salt and pepper.
Heat oil in a large ovenproof casserole dish or tagine over medium-high heat. Dust excess flour from lamb shanks and fry for 5 minutes, turning, or until lightly browned all over. Remove shanks from the dish and set aside. Pour off most of the fat and oil from the dish, leaving about 2 tablespoons.
Preheat oven to 160⁰C. Return dish to the heat and onions and garlic. Cook, stirring occasionally, for 5 minutes until onions are soft. Add ginger and cinnamon, and cook for a further 3 minutes or until fragrant.
Add stock, tamarind and apricots, and stir to combine. Place shanks back into the dish, push down slightly and turn to coat in liquid. Bring to a gentle simmer, then cover. Bake for 2½ hours or until lamb falls away from the bone.
To serve, divide shanks among four plates, spoon over sauce and sprinkle with pistachios and coriander. Serve with pearl couscous and chickpea salad.
Alternatively, cook lamb shanks in a slow-cooker according to manufacturers instructions.
If you like, serve Moroccan lamb shanks with your favourite selection of steamed vegetables.