Start by making the paneer. Heat the milk in a large saucepan and bring to the boil. Immediately reduce the heat to low and pour in the lemon juice. Stir for 1–2 minutes or until the milk separates into curds and whey. Take the pan off the heat.
Line a large sieve or colander with muslin or a clean tea towel and set over a large bowl. Pour in the milk mixture. Leave to drain for 15 minutes or until cool.
Bring together the corners of the muslin or cloth to make a bundle containing the drained curds. Squeeze them, then leave to drain for a further 30 minutes or until all the whey has dripped though the sieve into the bowl. Reserve 1 cup (250 ml) of the whey.
Keeping the curds wrapped in the muslin or cloth, place on a board. Set another board on top and press down to flatten the ball into an oblong block. Place cans or weights on top and leave in a cool place for about 3 hours or until firm.
Carefully peel off the muslin or cloth and cut the cheese into 2 cm squares. Heat the oil in a large non-stick frying pan and cook the paneer for 1–2 minutes on each side or until golden. As the pieces are browned, remove from the pan with a slotted spoon and set aside.
To make the curry, heat the oil in the pan. Add the onion and cook gently for 5 minutes or until softened. Stir in the garlic and ginger, cook gently for 1 minute, then stir in the chilli, coriander and cumin seeds, turmeric and garam masala. Cook for 1 more minute, stirring constantly. (Add a little hot water if it begins to stick.)
Add the tomatoes, the reserved whey and a pinch of salt and stir well to mix. Cover and cook gently for 5 minutes.
Add the peas and bring back to the boil, then reduce the heat, cover again and simmer for 5 minutes. Add the spinach, stirring it in gently so as not to break up the tomatoes too much. Simmer for 3–4 minutes or until the spinach has just wilted and the peas are hot and tender.
Stir in most of the chopped fresh coriander, then transfer the curry to a serving dish and scatter the paneer on top. Spoon the curry gently over the paneer to warm it, then sprinkle with the rest of the coriander and serve.