Place the block of tofu onto a plate and place another plate on top. Set a 1 to 3 kg weight on top (a container filled with water works well). Press the tofu for 20 to 30 minutes, then drain off and discard the accumulated liquid.
Preheat an oven to 190 C / Gas 5. Grease a baking tray.
Whisk the yoghurt, lemon juice, 2 teaspoons cumin, cayenne pepper, paprika, 1 teaspoon garam masala and minced ginger together in a bowl. Cut the tofu into 1cm cubes, and gently stir into the yoghurt mixture. Arrange the tofu cubes onto the prepared baking tray so they do not touch each other.
Bake the tofu in the preheated oven until the tofu has firmed and the sauce is no longer sticky, 45 minutes to 1 hour. Gently turn the tofu every 15 minutes during baking.
Meanwhile, melt the butter in a large frying pan over medium heat. Cook the garlic and chillies in the hot butter until softened, about 3 minutes. Stir in the coriander, 2 teaspoons cumin, 2 teaspoons garam masala and salt. Cook another minute to release the fragrance of the spices. Add the passata and cauliflower florets; cover and cook, stirring frequently until the cauliflower is tender, about 15 minutes.
Once the cauliflower is tender, stir in the cream, peas, coriander and baked tofu cubes. Bring to a simmer and cook 5 minutes, or until your desired thickness is achieved.