Soak the cashew nuts in warm water for 10 to 15 minutes and make a smooth paste.
Now heat 1 tablespoon of butter in a pan and add whole spices like (cardamom, cinnamon, cloves, black peppercorn, bay leaf).
Next add sliced onions, garlic pods, ginger, and chopped tomatoes. Cook for few minutes.
Add ½ tablespoon red chilli powder, cashew paste& salt and cook for few more minutes.
Add water and allow to cook for 10 minutes or until the tomatoes are soft.
Allow to cool it for some time and blend it in a blender.
After blending strain the mixture through a strainer.
Now heat the remaining butter in a pan and add coriander powder and remaining red chilli powder. Stir for few seconds.
Next add the strained mixture into it.
Add fresh cream and mix well.
Now balance the sweetness of the gravy by adding sugar or honey. Also adjust the salt.
Add already cooked chicken pieces and close the lid of the pan and cook for 7 to 8 minutes
Finally, add crushed kasuri methi on top and butter chicken is ready to serve.