Soak cashews: Place ½ cup cashews in a heat safe bowl and pour boiling water over them. Soak for 15 minutes.
Tofu Prep: Slice the tofu in half, wrap it in a clean kitchen towel, and place something slightly weighted on top. Let it sit for 10 minutes to absorb excess moisture. Pre-heat oven to 350℉ and line a baking sheet with parchment paper.
Bake Tofu: Cut tofu into squares and place in a large bowl. Toss with ½ tsp turmeric, 1 tsp paprika, ¼ tsp salt, and several grinds of black pepper. Place on parchment-lined baking sheet and bake for 15-20 minutes, until golden.
Sauté: Heat large pot on medium heat. Once hot, add oil and onions with a pinch of salt and sauté until translucent, about 5-7 minutes. Stir in garlic and cook for 30 seconds. Then make a well in the center of the pot and add 2 tsp cumin seeds and 1 tsp coriander seeds and toast about 30 seconds, stirring frequently. Then add 4 cups tomatoes, 2 tsp kashmiri chilli powder, 2 tsp paprika, ¾ tsp garam masala, ½ tsp salt, ⅛ tsp black pepper, and optional cayenne powder. Cook until tomatoes cook down, about 10-15 minutes, stirring occasionally. Remove from heat and allow to cool enough to blend.
Cashew Cream: While tomato mixture is cooling, drain cashews and add to the blender along with ½ cup fresh water. Blend until smooth and creamy, stopping a couple of times to scrape the sides. Pour cashew cream in a bowl and set aside. Don't rinse blender.
Blend and Simmer: Place chopped ginger and the cooled tomato mixture in blender and blend until smooth and creamy, about 2-3 minutes. Transfer creamy mixture back to pot and add 2 whole cloves, ½ stick of cinnamon, 1 tsp sugar, 1 bay leaf, and the baked tofu. Turn heat on medium-low and cook for 15-30 minutes, stirring occasionally and turning down heat if it starts to splatter.
Basmati Rice: In a large pot, bring 3 cups water with ½ tsp salt to a boil. Once boiling, add 2 cups white basmati rice, cover with a lid, and reduce heat to low. Set a timer for 13 minutes. Once timer goes off, remove pot from heat and let rest for at least 10 minutes. Don't lift the lid!
Finishing: Remove cinnamon stick and cloves. Stir in ¼ tsp garam masala, 2 tsp fenugreek leaves, and cashew cream starting with ¼ cup and adding more if desired. (Tikka masala is supposed to be tomato-forward, not cream heavy.) Taste curry, adding any other spices it may need such as salt, cayenne for spice, pinch of sugar if too acidic.
Serving: Serve Tofu Tikka Masala over cooked basmati rice or with naan or roti, and garnish with cilantro and a swirl of cashew cream.