Marinate the chicken with all the marinade ingredients and let it sit for at least 30 minutes. Pan-fry until lightly charred and about 70% cooked. Set aside.
In the same pan, heat the oil and sauté the onions, ginger garlic paste, and peppers until soft and fragrant. Add the tomato purée and Tikka masala, then cook for 8–10 minutes until the masala deepens in colour and thickens. Add salt to taste.
Blend the sauce once cooled, until smooth for that restaurant-style texture.
Return the sauce to the pan, add the butter/ghee, and stir in the chicken. Coat well and simmer for a few minutes, adding a splash of water if needed.
Finish with the heavy cream and let it gently simmer until silky and rich. Garnish with fresh cilantro.