Add the cardamom, cloves, bay leaves, cinnamon and peppercorns to the pan and cook for several minutes. Meanwhile, whizz the ginger, garlic and onions to a purée in a food processor with 3 tbsp of water. Turn the heat to low and add to the pan with a pinch of salt. Cook gently for 20-30 minutes, stirring regularly, until golden. Add the ground coriander and cumin, paprika and chilli powder and cook for 2-3 minutes before adding the lamb shanks back to the pan with the yogurt and 500ml of water. Bring to the boil, then put in the oven with a lid for 2 hours. After 2 hours remove the lid, turn the oven up to 200C/fan 180C/gas 6 and cook for a further hour, turning the shanks regularly to colour the meat and reduce the sauce.