Press the tofu to remove excess moisture. Place it between paper towels and set a heavy object on top for 10-15 minutes. Cut the tofu into cubes.
Optionally, pan-fry the tofu cubes in a little oil until golden on all sides.
Clean and rinse spinach with water to remove dirt particles.
Boil water in a saucepan with a pinch of salt. Once the water starts boiling, add the cleaned spinach leaves to the hot water. Cook for about 40 – 50 seconds until the colour of the leaves turns bright green. Turn off the heat.
Transfer the leaves immediately to the bowl of ice-cold water. This step stops the cooking process and retains the leaves’ green colour.
In the same hot water, quickly boil onion, cashews, cardamom, ginger, and green chilli for 2 – 3 minutes. Transfer them to a blender along with blanched spinach leaves.
Blend blanched spinach with onion, ginger, garlic, cardamom, cashews, and green chilli to make a smooth puree. Add ice cold water or ice cubes while blending.
Heat oil in a large pan over medium heat. Add cumin seeds and bay leaf. Let them splutter for a few seconds.
Pour the spinach puree into the pan. Add coriander powder, red chilli powder, and salt. Mix well. If the gravy seems too thick, add water or coconut milk. Add the tofu cubes and simmer for 5 minutes, allowing the flavours to meld together. Taste and adjust salt or spices as needed.
Garnish with a drizzle of coconut or cashew cream, and sprinkle with fresh coriander.
Serve vegan palak paneer warm with naan, or jeera rice.