First clean and wash the spinach leaves well under running water.
Fill a bowl with ice cold water and keep aside for later use.
To blanch spinach leaves, heat enough water with salt in a wide pan and drop cleaned spinach leaves for 2 minutes.
Switch off the flame and immediately remove leaves but don't discard the water. We will use this to adjust the consistency of gravy.
Immediately put leaves in ice cold water bowl.
This step will allow to retain the beautiful green colour of leaves. Remove it from water and keep aside to cool.
Once cools down grind this in mixer. Do not add any water while grinding.
Meanwhile mince ginger, garlic and green chilies together. In a pan add oil and heat it.
Add chopped onions and saute it. After a while add minced ginger, garlic and chilies. Saute it till raw flavor is gone and it turns slightly brown.
Now it's time to add spices like haldi, dhania powder, red chili powder and salt. Mix well.
To this add grated tomatoes and saute till it's incorporated well. Finally add pureed spinach and mix well.
Allow to simmer for 5 to 7 minutes, in between stir it continuously. Add blanched spinach water to adjust the consistency you want.
Chop the paneer pieces into cubes and shallow fry it in very less oil till it achieves golden brown color.
After that add paneer pieces in the gravy and let it soak all the flavors for 2 minutes.
in addition to that add fresh cream or curd/yogurt in the last and switch off the flame