First of all mix all the ingredients for marination in a mixing bowl to make a paste.
Put the chicken pieces into the paste and cover the bowl with cling film and place it in refrigerator and let it marinate for at least 2 hours or overnight.
In a pan heat oil and add chopped onions and cashews to it. Once the onion has turned pinkish brown add ginger garlic paste and fry it for few minutes till the raw smell fades away.
Now add tomatoes and chopped chilli to it and cover the lid. After 5 minutes take the lid out and fry till the mixture oozes oil. Now add all the spices and fry for few minutes. Switch off the flame and let it cool. Once this has cooled, transfer the mixture into a mixie jar/ blender and blend it to a smooth paste.
Now transfer this paste again to the same pan and put it over medium flame. Add marinated chicken and orange colour to it and add 2.5 cups of water and cover the lid of pan. Cook it for 20 minute. Add butter and check whether the chicken is fully cooked, if not then cook for few more minutes.
Now is the time to add honey and cream and mix it properly and switch off the flame.
Garnish with fresh cream, finely chopped green chillies and coriander leaves.
Enjoy your Butter Chicken with Rice, Naan or Chapatti (Indian Bread)