1. Melt the butter in a large skiller and fry onion on medium heat until transparent. Be careful not to burn the butter. Sprinkle in the cinnamon, turmeric, coriander and cayenne and fry another minute, then add the bite-size chicken pieces. Fry until chicken browned on all sides - about 5 minutes.
2. While chicken is frying, put coconut, garlic, ginger into a blender or food processor with 1/4 cup water and process into a paste. Pour this over the chicken and fry another couple of minutes.
3. Add crushed tomatoes and tomato paste, stir and cook another 15 minutes.
4. Remove from heat, stir in cream, season to taste. Pour over hot cooked rice or serve with bread.