Heat oil in a large pan and fry peppercorns, cardamom, cloves, cinnamon, and mace for 2 minutes.
Add onion and fry for 10 minutes until golden-brown.
Add lamb and fry for 4 minutes until browned all over.
Blend garlic, ginger, and 15 ml of water into a fine paste.
Stir the paste into the lamb and cook for 4 minutes on reduced heat.
Add ground spices, salt, tomato pulp, and yoghurt, then simmer covered for 12 minutes.
Stir in 45 ml of boiling water and simmer for 8 minutes until thickened.
Add enough boiling water to almost cover the lamb and simmer for 10 minutes until cooked.
Stir in chopped coriander and serve.