Heat water in a pan, bring it to a boil, add a little salt. When the water starts boiling, add the washed spinach leaves, push them with a spoon to submerge all the leaves in water. Blanch for about 1 minute or until the spinach leaves have wilted.
Strain the spinach leaves in a colander, collect the spinach stock for later use. Transfer the drained spinach leaves into a bowl of cold water with ice cubes. This process prevents the spinach from further cooking, and also helps in retaining the lush green color of the spinach.
In an electric grinder/mixer, make a puree of the blanched spinach, along with green chillies. Add some of the spinach stock if required to make a smooth paste.
Heat oil plus butter in a heavy bottomed pan, add cumin seeds, let it splutter. Add bay leaf, cinnamon and cloves, sauté until aromatic.
Next add chopped onion, and sauté over medium heat until golden brown.
Add ginger garlic paste, sauté until fragrant.
Add chopped tomatoes, cook until it turns mushy and leaves the sides of the pan.
Add turmeric and red chilli powder. Sauté for another minute.
Next, add the prepared spinach puree, and mix it well.
Add a cup of the spinach stock to the pan (adjust as per desired gravy consistency) stir well, season with salt and a pinch of sugar. Check salt accordingly as we have already added in the 1st step. Cook the spinach for another 5 minutes.
Add the cubed paneer, stir gently, let the paneer cook for another minute or two.
Sprinkle garam masala, and kasoori methi. Mix well.
Add the cream, mix it gently.
For the second tempering- Heat ghee in a small pan, when it hot add cumin seeds, once it crackles, take the pan off the heat. Let it cool down for 30 seconds, then add red chilli powder and hing. Mix well and immediately pour this tempering over the spinach gravy. Switch off the heat. To garnish, drop small spoonfuls of cream and a few ginger juliennes, if desired. Serve with roti / naan / chapathi or jeera (cumin) rice.