To make the coconut paste, blend the coconut, almonds, and poppy seeds in a food processor until a paste. Add hot water as needed to give it a silky consistency.
Blend the onions in the food processor until they become a paste, adding a splash of water if required.
Heat the oil (or ghee) in a deep sided pan or pot, over medium heat, and add the cloves, green cardamom pods, and cinnamon stick, - fry for 30 seconds.
Stir in the onion paste and salt, and fry for 10 minutes, until any liquid has evaporated, and the onions are translucent (but not browned).
Stir in the chili powder, then add the chicken to the pan, and fry until the chicken is opaque.
Add the water and coconut paste, bring to a simmer, and cook for another 10 minutes.
Remove the pan from the heat, and stir in the yogurt mixture. Return to a gentle heat, and bring to a simmer.
Cook uncovered for 30 minutes, adding a little water if needed, to prevent sticking, until the chicken is cooked through.
Stir in the black cardamom (if using) and serve with basmati rice or naan.