Dice your tofu into big cubes. Spray a large pan with olive oil cooking spray. Pan-fry the tofu on each side until it is firm and slightly browned.
Take the tofu out of the pan, place in a bowl and set aside. Meanwhile, blend the tomatoes and ginger until they come together in a smooth puree.
Combine the tomato mixture with the coriander powder, garam masala, turmeric, cumin powder and cayenne (if you are making it for your kids - you can leave the cayenne out here and add it in at the end just for you!)
Mix the whole wheat flour with the coconut milk and set aside.
Heat coconut oil in a large pan. Test the heat by adding one cumin seed to the oil; if it cracks/pops right away it is ready. Add hing and cumin seed. After cumin seeds pop, add the tomato puree mixture, and let it cook for a few minutes until the tomato puree is about half in volume.
Add the spinach and salt. Let cook on low for about 10 minutes.
Add the coconut milk mixture, and let cook on low another 4-5 minutes until everything is combined.
Add the tofu and fold it gently into the spinach mixture, let simmer for 2-3 minutes. Serve with diced tomatoes, roti, whole wheat tortillas, naan or rice.