Mix together the lamb, onion, ginger, garlic, chilli powder, turmeric, cardamom pods, cloves, peppercorns, cinnamon, oil, tomato, yoghurt and salt in a large heavy-based saucepan over a medium heat. Bring to a boil. When it just starts to bubble, reduce the heat to low, cover and cook for at least 1 hour, or until the lamb is fall-apart tender, adding 60 ml water if required to keep it moist. Remove the lid, increase the heat to high and bhunao (stir-fry) over a high heat for about 15 minutes, until most of the liquid has evaporated and the oil separates from the meat. Stir in 125 ml water to form a thick sauce, garnish with the coriander and serve hot.