Coarsely crush the cloves and cardamom using a mortar and pestle or spice mill. Set aside.
Heat the oil in a heavy skillet over moderately high heat. Add the garlic and onion and cook for about 4 minutes, until lightly browned.
Add the cloves/cardamom mixture and cinnamon stick. Stir and cook for 30 seconds.
Add the cumin, cayenne, coriander, ginger, black pepper, and turmeric. Stir and cook until aromatic, about 30 seconds.
Add the chicken and sear for 3 to 4 minutes per side, until light brown.
Add the tomato puree, grated coconut, salt, and water. Bring to a gentle boil.
Reduce heat to medium, cover and cook for about 20 minutes, until the chicken is tender.
Sprinkle in the lemon juice and stir to combine.
Transfer to a heated serving dish and remove the cinnamon stick.
Garnish with fresh cilantro sprigs before serving.