Marinate the chicken Combine all marinade ingredients and whisk until smooth. Add chicken pieces and toss to coat completely. Cover and refrigerate for 1 hour minimum - overnight produces the best result. The yogurt lactic acid gently tenderizes the chicken while the spices penetrate the meat deeply.
Broil the chicken Preheat broiler to high. Place marinated chicken on a wire rack set over a rimmed sheet pan. Broil on the highest rack for 8 to 10 minutes turning once, until edges are visibly charred and chicken reaches 165F. The char is essential - it adds smokiness that defines butter chicken. Set aside.
Build the sauce base Melt two tablespoons of butter in a large skillet over medium heat. Add onion if using and cook for 8 minutes until soft and golden. Add garlic and ginger, stir for 60 seconds. Add tomato paste and stir for 2 to 3 minutes until it darkens and caramelizes. This step removes the raw edge from the tomato paste.
Add spices and tomatoes Add garam masala, Kashmiri chili, cumin, coriander, and turmeric. Stir for 30 seconds until fragrant. Add crushed tomatoes and sugar. Stir to combine and simmer uncovered for 12 to 15 minutes until the sauce has visibly darkened and thickened.
Blend the sauce Remove from heat. Use an immersion blender to blend until smooth, or carefully transfer to a blender. For restaurant-silky texture, pour through a fine mesh sieve pressing with a spoon to extract all liquid. Return smooth sauce to the pan.
Add cream and butter Return pan to medium-low heat. Stir in heavy cream and remaining one tablespoon of butter. Do not boil after adding cream. Simmer gently for 5 minutes. Crush kasuri methi between your palms and stir in. Taste and adjust salt.
Add chicken and simmer Add broiled chicken pieces to the makhani sauce. Stir to coat completely. Simmer on low for 5 minutes to allow the chicken to absorb the sauce flavors. The chicken is already cooked - this step is about merging the two components.
Serve Spoon butter chicken over basmati rice or serve with warm naan. Garnish generously with fresh cilantro. Serve immediately with cucumber raita and extra naan for the sauce.