Bring water to a boil in a pot.
In a bowl add ice and water to create an ice water bath.
Roughly chop the spinach leaves and stems.
Blanch the spinach in boiling water for 30 seconds. Remove immediately, strain the spinach and transfer to the ice bath to cool. This step helps the spinach to stop cooking and retains the bright green colour. Save 50 ml of the water used to blanch the spinach for the puree.
Once cooled, strain the water and transfer the spinach and about 50 ml of the water to a blender and whizz the spinach to a smooth puree.
Finely chop the onions, garlic and ginger.
Roughly dice the tomatoes and set aside. Slit green chilli lengthwise, while the top still together.
Cut the Gram flour paneer into cubes.
In a pan heat the oil over a medium heat and fry the gram flour paneer pieces until golden brown on all sides. Once ready remove from the pan and set aside.
In the same pan, using the left over oil, add the cumin seeds and bay leaf.
As soon as the cumin seeds sizzle, add the chopped onions and sauté for a few minutes until they caramelise.
Add the chopped ginger and garlic and sauté for a minute or two until they soften.
Now add the chopped tomatoes, stir and sauté for five minutes till the tomatoes soften.
Add the turmeric powder and the green chilli and stir to mix.
Stir in the spinach puree and cook for five minutes while continuing to stir.
Mix in the garam masala and season with salt.
Add the fried gram flour paneer pieces and cook further for about 2-3 minutes.
Add the dried fenugreek leaves and stir. Take off the heat.
Garnish with cream and serve hot with paratha or plain rice.