Press tofu: Remove excess moisture using a tofu press or by wrapping in a towel with a heavy object on top for 20 minutes.
Tear & coat: Tear tofu into bite-sized chunks—this gives it more surface area and craggy edges to better catch the marinade and sauce. Coat evenly with cornstarch or tapioca flour.
Make the marinade: Whisk together marinade ingredients until smooth.
Marinate: Add tofu, mix gently, and refrigerate for 1 hour for deeper flavor absorption (see note 2).
Prep other ingredients: While tofu marinates, chop tomatoes, soak cashews, and chop parsley.
Fry tofu: Heat butter in a wide pan, then fry tofu in batches until golden brown (about 15 minutes). Set aside.
Sauté spices: Add more butter if needed, then fry crushed fennel seeds and cinnamon stick until aromatic.
Cook tomatoes: Add chopped tomatoes and cook for 5 minutes until softened.
Simmer sauce: Add cashews, tomato paste, and spices (except sugar), stirring well. Cover and cook for 15 minutes, stirring occasionally.
Adjust consistency: Midway, add lemon juice, water, and sugar. Stir well.
Blend sauce: Once softened, blend sauce until smooth. Cool before blending if using a blender that is not heat-resistant.
Final simmer: By straining through a sieve for extra silkiness (optional), return sauce to the pan (see note 3).
Add chopped parsley stems, and adjust seasoning.
Combine tofu: Gently fold tofu into the sauce, ensuring it’s well coated.
Serve: Garnish with parsley/cilantro and enjoy with rice, naan, or bread of choice.