500gfresh baby spinachwashed, blanched and shocked in ice water
2tbspgheefor the sauce base
1tspcumin seeds
1mediumyellow onionfinely chopped
1tbspfresh gingergrated
4clovesgarlicgrated
1-2green chiliesslit, adjust to taste
2mediumtomatoesfinely chopped
1tspground coriander
1/2tspground cumin
1/4tspturmeric powder
1/2tspred chili powderor to taste
1tspgaram masaladivided — 1/2 tsp during cooking, 1/2 tsp at end
1/2tspsaltor to taste
1/4cupheavy creamplus more to garnish
1tsplemon juicefresh squeezed
For the Paneer
400gpaneercut into 1-inch cubes
2tbspgheefor frying paneer
1/4tspsalt
1/4tspturmericoptional, for color
To Garnish
2tbspheavy creamswirled on top
1/4tspgaram masaladusted over top
2tbspfresh cilantroroughly chopped
1tspgheedrizzled over to finish
Instructions
Blanch the Spinach
Bring a large pot of salted water to a boil. Add the fresh spinach and blanch for 60 seconds until just wilted and bright green.
Immediately transfer the spinach to a large bowl of ice water using a slotted spoon. Let it sit for 2 minutes, then drain thoroughly and squeeze out excess water.
Transfer blanched spinach to a blender and blend until smooth. Set aside.
Fry the Paneer
Pat the paneer cubes dry with paper towels. Season lightly with salt and turmeric if using.
Heat 2 tbsp ghee in a large heavy-bottomed pan or skillet over medium-high heat. Once hot, add paneer cubes in a single layer without crowding.
Fry for 2-3 minutes per side until golden brown on the outside. Remove and immediately transfer to a bowl of warm salted water. Let soak for 5-10 minutes, then drain. This keeps the paneer tender.
Build the Sauce
In the same pan, heat 2 tbsp ghee over medium heat. Add cumin seeds and let them sizzle and pop for 30 seconds until fragrant.
Add the chopped onion and cook, stirring frequently, for 8-10 minutes until deeply golden and caramelized — don't rush this step, it's the flavor foundation.
Add the grated ginger, grated garlic, and green chilies. Stir and cook for 2 minutes until the raw smell disappears.
Add the chopped tomatoes, ground coriander, ground cumin, turmeric, red chili powder, and 1/2 tsp garam masala. Cook for 5-6 minutes, stirring occasionally, until the tomatoes break down completely and the mixture becomes a thick, fragrant masala paste with ghee releasing around the edges.
Combine and Finish
Reduce heat to medium-low. Add the blended spinach puree to the pan and stir well to combine with the masala. Cook for 3-4 minutes, stirring frequently.
Add salt to taste. Stir in the heavy cream and mix until fully incorporated and the sauce is silky and cohesive.
Add the drained fried paneer cubes. Gently fold them into the sauce so they're fully coated. Cook for 2-3 minutes on low heat, just long enough for the paneer to warm through and absorb some of the sauce.
Turn off the heat. Stir in the remaining 1/2 tsp garam masala and the fresh lemon juice. Taste and adjust salt.
Transfer to a serving bowl. Swirl cream over the top, dust with a pinch of garam masala, drizzle with a teaspoon of ghee, and scatter fresh cilantro over the top. Serve immediately with naan or basmati rice.
Notes
Storage: Refrigerate in an airtight container for up to 4 days. Reheat gently on the stovetop over low heat with a splash of water or cream to loosen the sauce. Paneer can become slightly firmer when refrigerated — soaking reheated cubes briefly in warm water before serving helps restore their texture. Freezing: The spinach sauce freezes well for up to 2 months. Add freshly fried paneer when ready to serve for the best texture. Vegan variation: Substitute firm tofu for paneer, coconut oil for ghee, and full-fat coconut cream for heavy cream.