Press tofu for at least 15 minutes. Then cut into one-inch cubes.
Blanch spinach. Set aside a saucepan with ice cold water. Heat water in a separate large saucepan. Once it is boiling, put in about 3 cups of spinach in at a time or as much as will fit. 3 minutes later, take the spinach out and put it in the saucepan with cold water. Repeat until you’ve blanched all the spinach. Set aside to cool before blending with ~ 1 cup of water. Make sure not to blend it for too long. That would result in a texture that is a little too creamy.
Pan fry tofu. Add vegan butter to a medium saucepan and pan fry the tofu, flipping when one side has browned (~ 3-4 minutes). Continue to prop the tofu onto another side so that the whole cube browns. When the tofu is nicely browned and not too crisp yet (takes about 10 minutes total), take it out of the pan. Save the pan for making the spinach gravy.
In a small processor, process mint leaves, tomatoes, green chilis, and ginger.
Add oil to the pan. Fry 1 tsp kasoori methi over medium for 30 seconds. Add tomato-chili-mint paste and cook until the tomato juices have fully evaporated. Then add red chili powder, garam masala, and coriander.
Pour spinach puree into the pan. Simmer on medium for 5 minutes. Add water according to desired consistency. I used 3/4 cup of water to clean out the contents of the blender.
Add salt to taste, cashew cream, and 1 more tsp of kasoori methi. After stirring that together, add tofu. Cook for 2-3 minutes before taking it off the heat. Enjoy with rice, roti, or naan!