To marinate the chicken, take a large bowl.
In a bowl, mix chicken, yogurt, ginger-garlic paste, chili powder, turmeric, garam masala, lemon juice, oil, and salt.
Coat the chicken evenly from all sides. Cover and refrigerate the chicken pieces for at least 1 hour, preferably overnight.
Heat a pan with a little oil over medium heat.
Cook the marinated chicken pieces until golden and fully cooked (6–8 minutes per side). Set aside.
In the same pan, melt butter over low heat to prepare the gravy.
Sauté chopped onions until golden brown.
Add tomato puree, ginger-garlic paste, chili powder, garam masala, sugar (if using), and salt.
Add cashews and cook until the mixture thickens and oil separates (about 7 minutes).
Allow the gravy base to cool slightly, then blend it into a smooth paste.
Return the paste to the pan.
Add cooked chicken pieces to the blended gravy and mix everything well.
Pour in heavy cream and stir gently to create a smooth, creamy texture.
Crush kasuri methi between your palms and add it. Simmer for 5–7 minutes.
Turn off the heat. Garnish the dish with more cream and fresh coriander leaves.
Serve Butter Chicken with naan, roti, or basmati rice.