Combine chicken with yogurt, lemon juice, turmeric, chili powder, garam masala, cumin, salt, and 1 tablespoon ginger-garlic paste. Marinate for at least 30 minutes or overnight in the refrigerator.
Heat oil in a large pan over medium-high heat. Sear marinated chicken in batches until golden brown on both sides, about 3 minutes per side. Set aside.
In the same pan, melt butter over medium heat. Sauté diced onion until soft and golden, about 5–6 minutes.
Add remaining ginger-garlic paste and cook for 1 minute until fragrant.
Add tomato puree, Kashmiri chili powder, ground coriander, garam masala, cumin, sugar, and salt. Simmer for 12–15 minutes until oil separates from the sauce.
Let the sauce cool slightly, then blend until completely smooth. Strain back into the pan for extra smoothness if desired.
Return pan to medium heat. Stir in heavy cream until the sauce turns a rich orange color.
Add seared chicken pieces and simmer for 8–10 minutes until chicken is cooked through.
Crush kasuri methi between your palms and stir into the sauce. Adjust salt to taste.
Garnish with a swirl of cream and fresh cilantro. Serve hot with basmati rice or naan bread.