Boil 2 cups of water and add the spinach to it. Let the spinach cook and reduce. I prefer to add as little water so I don't have to drain and throw the water.
Once done set it aside to cool. Grind it to a smooth paste along with the green chilis.
Do not add too much water and get a thick consistancy at this stage.
In a pan heat the oil and add all the dry ingredients. Once the jeera/cumin spatters add in the finely chopped onion to the pan.
Once onion is cooked add the garlic and ginger paste and the chopped tomato. Let it all cook and mix well.
I takes about 5-8 minutes for the mixture to cook completly.
Once this mixture cooked add the garam masala, salt and the spinach mix. Let it all come together.
Fry the cubed paneer to a pan for a min. Don't over do it as paneer will become very dry.
If you are adding the tofu add it at this stage.
Now add in the fried paneer to the spinach gravy and cook it for 2-3 mins and turn off the heat.
Palak paneer is ready to serve.