Make a smooth paste out of onion, coriander leaves, ginger, garlic, green chilies and little water.
Marinate the chicken with half of that paste.
Also add salt, black pepper powder, red chili powder.
Add garam masala powder, kasuri methi and 2-3 Tablespoons of chaat masala.
Then add yogurt, mix everything very well.
Keep it in refrigerator for 4 hours or overnight.
Heat oil in a non stick pan.
Add the marinated chicken and fry on high flame for 10-12 minutes.
When chicken will become brown in color, remove them from oil.
In that remaining oil, add 2-3 Tablespoons of more oil.
Add the remaining onion paste. Cook on medium flame for 15 minutes.
Then add cashew nut paste, mix well and cook for another 10 minutes.
Add some salt as per your taste, mix well.
Then add fried chicken, mix well with the masala.
Add a cup of hot water. Mix well, cover the pan and cook until the chicken becomes soft.
Lastly add some more kasuri methi, heavy cream and butter. Mix well and turn off the heat.
Let the curry rest for 15-20 minutes, then serve.