Pluck only the young & tender spinach leaves and discard the stems as they may leave a bitter taste. If using baby spinach you can use the stems as well.
Add them to a large pot of water. Rinse them well few times & drain to a colander.
Allow the water to drain completely otherwise it will let out lot of moisture while cooking.
Heat half tablespoon oil in a pan. Saute green chilies, cashews and spinach for 3 to 4 mins until the leaves wilt off thoroughly & raw smell of spinach has gone away. [OR another option is to blanch the palak in 4 cups of hot water with ¼ tsp salt for 2 mins. Then immerse in ice cold water. Drain completely.]
Cool this completely. Blend this along with water to a smooth puree. The puree should be smooth and thick. You may add 1 to 2 tbsps more water to help in blending.
Heat 1 tablespoon butter and half tablespoon oil to the same pan, Once they melt, add cinnamon, cardamoms, cloves & cumin seeds.
When the spices begin to sizzle, add onions and fry till they turn transparent to golden.
Next saute ginger garlic paste for 1 to 2 minutes or until you begin to smell it nice.
Then add tomatoes with salt. Saute until they break down and turn mushy.
Add garam masala & saute until the masala smells good. This may take 2 mins. (for a smoother curry refer notes)
Pour water and cook covered until onions are completely soft. There should be some water left in the pan. (for consistency check video)
Lower the flame, add kasuri methi and pureed spinach. Mix well and cook until it begins to bubble for about 2 to 3 mins. If the curry is too thick you may add a few tbsps of hot water.
Avoid overcooking. Add paneer & mix well. Turn off and remove to a serving bowl. Optionally garnish with cream.
Serve palak paneer with naan, roti, Basmati rice or Jeera rice.