Pound the cloves, black and green cardamom pods and peppercorns into a pestle and mortar until lightly crushed.
Heat a large frying pan over a medium heat then add the ghee. Once melted, add the crushed spices along with the bay leaf and cinnamon stick. Fry for 1–2 minutes to allow the flavours to infuse, then add the onions. Increase the heat and fry for around 5–10 minutes, stirring frequently until the onions start to brown and caramelise.
Add the chilli, garlic and ginger and continue to fry gently for a further 10 minutes, on a low heat, covering with a lid and making sure you stir again frequently until the onions are golden, soft and caramelised.
Add the goat meat to the pan. Allow to brown for around 10 minutes, stirring and coating the meat. Stir in the salt, turmeric, chilli powder and garam masala, mixing well to evenly coat the meat. Add the chopped tomatoes and continue to cook for around 10–15 minutes, continuing to stir until the ingredients have blended well and the oil has separated from the tomatoes. Pour in enough hot water from the kettle to just cover the meat (approximately 800ml–1litre/1½–1¾ pints). Bring to the boil, then reduce the heat to a low simmer, cover with a lid and cook gently for 2½–3 hours, stirring frequently until the goat is tender and the sauce has reduced. Top up with water throughout cooking if necessary and remove the lid for the last 10–15 minutes of cooking to allow the sauce to reduce and thicken.
Transfer to serving dishes and serve sprinkled with the coriander.