Wash spinach leaves thoroughly and add them to boiling water. Let it cook to 5 minutes.
Strain cooked spinach and add it to a large bowl with ice cold water. This will stop the spinach from cooking further. By doing this, we also ensure that the green color of spinach remains intact.
In a pan, heat oil or ghee or mix of both. Add cumin seeds to it and let it crackle.
Add onions, green chilies, ginger and garlic to it. Season it with little salt. Let it cook for 3 minutes or till onions turn slightly brown.
Add chopped tomatoes to it and let it cook till mixture turns mushy. Mix in all dry spices and let it cook covered for 5 minutes. Add 1/2 cup of water if the mixture is too dry.
Strain spinach leaves from cold water and puree them to smooth paste in a blender.
Add it to cooked masala mixture. Add cubed paneer and salt to taste. Note: taste spinach puree before adding salt as spinach has it own salt.
Let it cook for 5 minutes uncovered till paneer gets soft in the puree.
Serve with hot phulkas, parathas, naan or rice.