1Rinse the basmati rice until the water runs mostly clear. Simmer it with 1 1/2 cups water and a pinch of salt in a covered saucepan over low heat for 15 minutes, then take it off the heat and leave it covered until serving.
2Set a large skillet over medium-high heat with a splash of water. Add the spinach in big handfuls, stirring until each batch wilts and makes room for the next. This takes about 4 minutes in all. Tip it into a colander and let it cool for a few minutes.
3Blend the spinach with 1/2 cup water until mostly smooth, with a little texture left. Set it aside.
4Wipe out the skillet and heat the vegetable oil over medium-high heat. Add the paneer in a single layer and sear for 2 to 3 minutes per side, until golden. Move it to a plate and sprinkle with a pinch of salt.
5Lower the heat to medium and melt the ghee in the same skillet. Add the cumin seeds and let them sizzle for 20 seconds, then add the onion and cook for 6 to 8 minutes, until soft and golden at the edges.
6Stir in the garlic, ginger and serrano pepper and cook for 1 minute, until fragrant. Add the tomatoes, coriander, turmeric, cayenne and salt, and cook for 5 minutes, until the tomatoes collapse and the mixture looks jammy.
7Pour in the blended spinach and stir well. Simmer gently for 5 minutes, adding a splash of water if it gets too thick to move easily.
8Stir in the cream, garam masala and seared paneer. Warm everything through for 2 minutes, being careful not to boil hard, which can dull the green.
9Finish with the lemon juice, taste, and add more salt if needed. Serve over the basmati rice.