Start by marinating the tofu. Pat the tofu dry on kitchen paper and cut into 1–2cm dice. Tip into a bowl, add the lemon juice, nutritional yeast and a good pinch of garam masala. Mix well to combine, cover and set aside for 1 hour.
Meanwhile, blanch the spinach in boiling water or steam it until just wilted. Drain through a colander and refresh under cold running water. Squeeze dry and tip the spinach into a blender. Add the green chilli to the blender with half the garlic and half the ginger.
Season with salt and freshly ground black pepper, blend until nearly smooth and set aside.
Heat the coconut oil in a wok or sauté pan, add the onion and cook over a medium heat, stirring from time to time, for about 10 minutes, until soft but not colored. Add the remaining garlic and ginger, the chopped tomato and spices.
Season with salt and freshly ground black pepper and continue to cook for a further 5 minutes over a low–medium heat until the tomato has cooked and thickened.
While the onion mixture is cooking heat 1 tbsp sunflower oil in a frying pan over a medium–high heat, drain the tofu from the marinade, add to the pan and fry quickly until golden brown on all sides.
Add the spinach purée and 150ml water to the onions, mix well and cook for 2 minutes, adding a little more water if needed to make the mixture a sauce rather than a thick purée. Add the tofu, 3 tbsp of the coconut milk and another good pinch of garam masala.
Mix well and cook for a further minute before serving drizzled with more coconut milk. Be careful not to overcook the spinach – it should still be a vibrant green.