Bring 4 cups of water to a boil in a large pot. Add the spinach and cook for 30 to 45 seconds, just until wilted. Immediately transfer the spinach to a bowl of ice water to stop the cooking process. Drain thoroughly.
Add the spinach to a blender with 2 tablespoons of water. Blend until completely smooth and set aside.
Place the paneer cubes in a bowl of warm water and let them soak for 10 minutes while you prepare the sauce. Drain before using.
Heat 1 tablespoon of ghee in a large skillet over medium heat. Add the cumin seeds and hing, if using, and cook for about 20 seconds until fragrant.
Add the onion and cashews. Cook for 6 to 8 minutes, stirring occasionally, until the onion is lightly golden.
Stir in the garlic, ginger, and green chili. Cook for 1 minute.
Add the tomato and cook for 4 to 5 minutes until softened and jammy.
Transfer the onion mixture to a blender and blend until silky smooth.
Return the skillet to medium heat and add the remaining tablespoon of ghee. Pour in the blended masala.
Stir in the ground cumin, coriander, turmeric, garam masala, Kashmiri chili powder, and salt. Cook for 2 to 3 minutes, stirring frequently.
Add the spinach puree and simmer gently for 2 to 3 minutes. Avoid boiling vigorously to preserve the bright green color.
Stir in the cream and crushed kasuri methi.
Add the paneer cubes and cook for 1 to 2 minutes, just until heated through.
Taste and adjust the seasoning if needed. If the spinach tastes slightly bitter, add a tiny pinch of sugar.
Let the palak paneer rest for 5 minutes before serving.
Garnish with ginger matchsticks, a drizzle of cream, and lemon wedges if desired. Serve with warm naan, roti, paratha, or basmati rice.