Mix the chicken pieces with yogurt, flour, garam masala and salt. Let it marinate for 1-2 hours.
In the meantime, we will begin with the Butter chicken gravy. In a medium sized (non stick) pot, melt 2 tablespoons butter (or olive oil).
Once heated, add onions and stir fry until they turn pink. Add cashews, ginger garlic paste, cardamom seeds, cloves, cinnamon powder and salt and cook until fragrant.
Then add tomato paste and cook for a minute. Now add Thai green chillies and dried red chillies. Cook for another minute. Remove the pot from heat and let it cool.
Add the cooled mix and water into a blender/ food processor to get a thick gravy consistency.
In a pot, heat the remaining tablespoon butter. Now stir in the gravy from the blender/ food processor. Let in cook for 2 minutes while adding honey. Finally add half and half cream and crushed dried fenugreek leaves and cook for a minute. The butter chicken gravy is ready.
Now heat oil in a medium sized non stick pan and add the marinated chicken pieces to it.
Cook until chicken is tender and cooked.
Add the butter chicken gravy and mix well. Keep it aside.