In a large bowl, mix yogurt, ginger-garlic paste, red chili powder, garam masala, cumin powder, turmeric, coriander powder, lemon juice, oil, and salt.
Add chicken pieces and coat them well with the marinade.
Cover and refrigerate for at least 1 hour (overnight for best flavor).
In a small bowl, combine turmeric, pepper, coriander powder, red chili powder, cumin, and garam masala to make paste.
Add 2–3 tablespoons of water to form a thick, smooth spicy masala paste.
Heat 1 tablespoon oil and 1 tablespoon butter in a pan.
Add marinated chicken and cook the chicken for about 5–7 minutes, turning occasionally until lightly browned from all sides.
Remove and set aside.
In the same pan, add oil, cinnamon stick, and black cardamom.
Add chopped onions and sauté until golden brown (5–7 minutes).
Add ginger-garlic paste and cook for 1 minute.
Stir in the spice masala paste and sauté for 5 minutes.
Add tomato puree, cover with lid, and cook for 7 minutes.
Add water as needed and cook for another 5 minutes until the gravy thickens.
Add the cooked chicken to the sauce.
Mix everything well and simmer for 5 minutes on low heat.
Stir in fresh cream and cook for another 5 minutes.
Turn off the heat and garnish Chicken Tikka Masala with fresh cream and chopped coriander leaves.
Serve hot with butter naan, roti, or steamed basmati rice.