If using store bought paneer, cut them into desired shape. The paneer has to be soaked in hot water for about 10 minutes. Water has to be drained from paneer and keep aside. In case of using homemade paneer you can skip this step.
Spinach has to be washed in in running water. Then blanch the spinach and keep it aside. i.e. Bring about a cup water or more to gentle boil, add the spinach to boiling water and let it sit for 2 minutes. Then remove the spinach from hot water and add it immediately to ice cold water. Let it sit in ice cold water for 1 minute before being used. This will help to retain its color.
The blanched spinach to be added to the mixie or food processor. Add the ginger, garlic and green chili. Grind into smooth spinach puree without adding any water. Keep it aside.
Ghee has to be heated in a pan in medium heat. Add the jeera and once it starts changing color, add the onion. Saute until the onion turns nice golden brown.
Add the fresh tomatoes, salt and saute until the tomato turns fully mushy. Add the turmeric, red chili powder and saute for few minutes. Until the raw smell of masala powders are gone.
Now, add the prepared pureed spinach and stir well. Add about ¾ cup of water. Add garam masala powder and cook in low-medium flame until the spinach gets cooked fully. By the time you can find the raw smell would have gone and the gravy would thicken slightly.
Finally, add the cubed paneer to the gravy and mix well. Let it get cooked in gravy for 2 mins. Turn off the flame.
Optionally, add fresh cream and mix well.
Transfer to serving bowl. Serve hot along with any kind of Indian Bread like naan bread. Or serve with plain basmati rice or jeera rice. Enjoy.