Marinate the chicken: In a large bowl, combine the yogurt, lemon juice, ground cumin, coriander, paprika, turmeric, cinnamon, cayenne, garlic powder, and salt. Add the chicken pieces and toss to coat evenly. Cover the bowl and refrigerate for at least 1 hour, preferably 3-4 hours, or overnight for more intense flavor.
- Cook the chicken: Heat a grill pan or regular pan over medium-high heat. Cook the marinated chicken in batches, turning occasionally, for about 5-7 minutes until browned and cooked through. The chicken should be charred on the edges. Set the cooked chicken aside.
- Prepare the sauce: In a large saucepan or skillet, heat the vegetable oil or ghee over medium heat. Add the chopped onion and cook for about 5-7 minutes, until soft and golden brown. Add the minced garlic and ginger and sauté for another 1-2 minutes, until fragrant.
- Add the spices: Stir in the ground cumin, coriander, turmeric, paprika, cinnamon, cardamom, and cayenne pepper (if using). Cook the spices for 1-2 minutes, allowing them to bloom and release their aroma.
- Add tomatoes and simmer: Add the diced tomatoes and tomato paste to the pan, stirring well. Let the mixture simmer for 10-15 minutes, until the tomatoes break down and the sauce thickens.
- Add cream and water: Pour in the heavy cream and water (or chicken broth), and stir to combine. Bring the sauce to a simmer, allowing it to cook for an additional 10 minutes. If the sauce gets too thick, add a little more water or broth to reach your desired consistency.
- Add the chicken: Add the cooked chicken pieces to the sauce and stir to coat the chicken in the sauce. Simmer for 5-10 minutes, allowing the chicken to absorb the flavors of the sauce and become tender.
- Adjust seasoning: Taste the sauce and adjust the seasoning with salt, more cayenne pepper, or a squeeze of lemon juice for balance.
- Serve: Serve your Tikka Masala hot, garnished with fresh cilantro. Pair it with basmati rice, naan, or a side of vegetables for a complete meal.