In a large mixing bowl, combine the chicken cubes with the yogurt, grated ginger, grated garlic, lemon juice, turmeric, Kashmiri chili powder, fenugreek (if using), and garam masala. Mix well to ensure all the chicken pieces are coated. Cover the bowl and let it marinate in the refrigerator for at least 1 hour, or ideally overnight for deeper flavor.
In a large skillet or Dutch oven, heat 3 tablespoons of ghee or oil over medium-high heat. Add the marinated chicken (reserve the marinade) and cook until the chicken is browned and cooked through, about 5-7 minutes. Transfer the chicken to a plate and set aside.
In the same skillet, add the diced red onion and sauté until translucent, about 3-4 minutes. Add the grated ginger, grated garlic, and sliced serrano pepper, cooking for an additional minute until fragrant.
Stir in 2 teaspoons of Kashmiri chili powder and 1 to 1 1/2 teaspoons of garam masala. Cook for about 30 seconds to release the spices’ flavors. Then, add the tomato puree and chicken stock, stirring to combine.
Bring the sauce to a simmer, then reduce the heat and let it cook for 10-15 minutes. This allows the flavors to meld beautifully. Add back the cooked chicken and any reserved marinade, stirring well to incorporate everything.
Once the chicken is heated through, stir in the heavy whipping cream and fenugreek (if using). Simmer for an additional 5 minutes, allowing the sauce to thicken slightly. Season with coarse salt and freshly cracked pepper to taste.
Remove from heat, and stir in the minced fresh cilantro. Serve your Chicken Tikka Masala hot with basmati rice, naan, or your favorite side.