Place the chicken, yogurt, tikka masala, pepper and cilantro in a large mixing bowl. Stir to combine. Cover the bowl and place in the fridge to marinate overnight, or marinate for at least 1 hour at room temperature.
Heat the ghee over medium-high heat in a large skillet and swirl the pan to coat. Add the onion and sauté until soft, and just beginning to brown, about 5 minutes. Make a well int eh center of the onions and add the turmeric, fennel, cumin and curry. Stir, keeping the spices in the center of the pan, for about 45 seconds, until you can smell the strong aroma of the spices. Stir the spices into he onions and add the tomatoes. Low the heat to medium-low and let the mixture simmer for about 8-10 minutes.
Take the skillet off of the heat. Using a hand immersion blender, puree the tomato mixture into until it’s a chunky “soup”. You can also do this in the blender.
Drain the marinated chicken and add it to the tomato mixture in the skillet. Cook over medium heat for about 8-10 minutes until the chicken is cooked through. Stir in the chicken stock and simmer for another 10 minutes. While simmering, heat the cumin in a small pan over medium heat until fragrant, about 1 minute. Add the tikka masala, nutmeg, cinnamon and toasted cumin to the chicken and tomatoes. Serve over rice and top with cashews, toasted coconut and cilantro.