Mix together the yogurt, tikka masala, pepper, and cilantro. Add the chicken, cover, and refrigerate overnight. If you do not have time for that, you can let it sit at room temperature for 1 hour.
Melt the coconut oil over medium high heat. Add the red onion and sauté until soft and translucent, about 5 minutes.
Make a well in the middle of the onions and add the turmeric, fennel seeds, cumin seeds and curry powder. Stir around in the pan for 45 seconds. You will be able to smell the spices.
Add the tomatoes to the pan. Lower the heat to medium and simmer for about 8 minutes, stirring frequently.
Take the tomato and onion mixture out of the pan and puree using a food processor, blender, or immersion blender. Add the puree back to the sauté pan.
Drain the chicken from the marinade. Add to the pan. Cook the chicken over medium high heat for 8 to 10 minutes or until the chicken is cooked through.
Stir in the chicken stock and simmer for another 10 minutes.
Toast the cumin in a separate, small sauté pan for about 30 seconds or until you can smell it. It really brings out the flavor, so it is worth the extra step. Add the cumin, tikka masala, nutmeg, and cinnamon to the pan with the chicken.
Add the heavy cream to the pan and simmer for about 5 minutes.
Serve the chicken curry over rice. Serve with chopped cashews, chopped cilantro, and toasted coconut for garnish.