Heat the butter over medium heat in a heavy-bottomed pan and add all the ingredients for the gravy.
Fry the onions until soft and translucent and lightly golden.
Add garlic and ginger and sauté for 1 minute until fragrant, then add ground coriander, cumin, garam masala, red chilli flakes,sugar, salt and ground cashews. Let cook for about 20 seconds until fragrant, while stirring occasionally.
Add crushed tomatoes and salt. Let simmer for about 10-15 minutes, stirring occasionally until sauce thickens and you have a rich thickish gravy.
Remove from heat and using a stick blender, blend until smooth adding some water if the gravy is too thick.
Stir the cream through the sauce.
Add the chicken with any juices into the saucepan and cook over a low heat for an additional 8-10 minutes until chicken is cooked through and the sauce is thick and bubbling.
Garnish with chopped coriander leaves.