Heat oil in a pan and saute onion until soft. Then convert it into a plate and let it cool.
In the same pan melt butter.
Add chicken pieces into it. Cook it in the water that comes out from the chicken, When the water absorbs, fry the chicken pieces in that butter until the colour turns light brown in colour.
Then add ginger garlic paste, salt, turmeric powder, kashmiri chilli powder, garam masala powder and coat the chicken in it. Saute until the raw smell goes off(5-10 minutes)
Now add tomato puree and saute for 2 minutes. Add water and cook for another 10 minutes
Meanwhile grind the sauteed onion and soaked cashew nuts into a smooth paste.
Pour that paste into the chicken and adjust the consistency by adding little water.
When it starts boiling, add kasoori methi powder and chopped coriander leaves. Remove it from the flame and serve it along with roti, naan etc..