Wash spinach and keep aside.
Boil water in a large pot. Add salt. Once the water starts boiling add spinach. Blanch for 2-3 minutes and then transfer to a large bowl of ice-cold water. Let the spinach remain in cold water for about a minute and then transfer to a grinder/ food processor.
Add green chilies to the grinder. Make a slightly coarse paste of spinach and green chilies. Keep the paste aside.
Heat oil in a pan. Break each red chili into 2-3 pieces and add to the oil. Saute for a few seconds and then add cumin seeds. Saute the cumin seeds for a few seconds or until they become fragrant.
Add chopped garlic and saute for a few seconds or until its raw smell goes away.
Add onion and cook until the onion starts turning brown.
Next, add turmeric powder, red chili powder, and coriander powder. Saute for around 30 seconds on low flame.
Add chopped tomatoes, ginger, and salt. Mix and cover the pan. Cook until the tomatoes turn mushy.
Add spinach puree along with around a cup of water. Mix everything and cook for around 2-3 minutes.
Next, add garam masala, kasoori methi, milk, and paneer. Mix everything. Cook for around 1-2 minutes and then cover the pan. Switch off the stove. Don't remove the lid for at least 5 minutes.
Drizzle some ghee or butter on top. Serve hot with roti, naan, paratha, or rice.