First, mix the yogurt, ginger-garlic paste, red chili powder, turmeric, garam masala, and salt in a bowl. Add the chicken pieces and coat them evenly. Cover and marinate for at least thirty minutes.
Second, heat oil in a pan and cook the marinated chicken over medium heat until lightly charred and just cooked through. Remove the chicken from the pan and set aside.
Third, melt butter in the same pan and add the finely chopped onion. Cook gently until the onion becomes soft and translucent without browning.
Fourth, add the tomato puree and cook until it thickens and the butter starts separating from the sides of the pan.
Fifth, stir in the cashew paste, Kashmiri chili powder, sugar, and salt. Mix well and cook until the sauce looks smooth and glossy.
Sixth, blend the sauce until completely smooth if desired, then return it to the pan.
Seventh, add the cooked chicken back into the sauce along with water and heavy cream. Stir gently to coat the chicken evenly.
Eighth, sprinkle crushed kasuri methi over the curry and simmer on low heat for eight to ten minutes until the flavors come together.