Heat water in a large sauce pan and bring to a gentle boil. Add the spinach in batches and blanch for a minute or two.
Remove and add to a bowl with cold water. Once cool, blend until in a blender until completely pureed. Keep side.
Heat another saute pan or dutch oven to medium low heat and add 2 tablespoon of ghee/oil. Once hot, add the tofu pieces and fry until gently browned all over. Keep aside.
In the same pan, add the remaining ghee. Add the cumin seeds, chopped garlic and saute for 45 seconds. Now add the chopped onions and cook for 5 minutes.
Add the chopped tomatoes and cook for 2 minutes. Add the ginger garlic paste, green chillis and cook for another couple of minutes. Add the cumin, chilli, turmeric powder, kasuri methi, salt and mix well.
Add the spinach puree,water and mix well. Cover the pan and let it cook for 7-8 minutes until he spinach tastes fully cooked. Add more salt if required.
Now add the fried tofu pieces and mix well. After a minute or so, add the oat milk/vegan cream and mix well again. Let it simmer for another 3-4 minutes. Top with more kasuri methi, julienned ginger and some vegan cream(optional) before turning off the heat.
Serve hot with any Indian flatbread like chapati, naan, roti or with a bowl of jeera rice.