We've made saag paneer (or palaak paneer, as they call it in Southern India) many times, using a combination of two recipes. Both recipes are from Madhur Jaffrey: one in World Vegetarian and the other in World of the East Vegetarian Cooking. We don't like either one by itself, so now that we've finally adjusted it to our liking, here goes:
2 quarts whole milk
3-4 Tbsp white vinegar or lemon juice
1/4 tsp garam masala
1/8 tsp salt
1/8 tsp cayenne
Line a colander with several layers of cheesecloth, making sure you have plenty of cloth.
Bring the milk to a boil over medium high heat. When it begins to boil, turn the heat to low, and add 3Tbsp of vinegar. Stir. If the mixture does not begin curdling (the thin, yellowish whey separating from the white curds), add the last tablespoon of vinegar. Stir again, then pour into the colander. The whey will drain out and you'll have the curds left in the colander.
Gather up the ends of the cheesecloth and squeeze out as much water as possible. Tie the bundle shut, and lay the cloth on a plate. Place another plate above it, with a heavy book, for about five minutes. Just five minutes is all you need!
At this point it will keep for a day or two in the fridge. But once you're ready, slice it into cubes and fry it in a bit of oil. After slightly browning all sides, set aside. Sprinkle with the salt, cayenne, and garam masala. (The frying is optional, mostly because it sticks to the pan like crazy, no matter how much oil you use.)
2 10-oz. bags of spinach
1 Tbsp of dried fenugreek or 1-2 handfuls of fresh fenugreek (if you can get fresh fenugreek, it is SO worth it)
2-3 Tbsp peanut oil
4-5 cloves of garlic, chopped finely
A 1-inch cube of ginger, chopped finely
1/2 - 2 small green chilis, chopped finely. (we use 2 Thai chilis, but whatever you have that you like)
1 tomato, grated
3/4 tsp salt
1 1/2 tsp cumin
1/4 tsp cayenne
Bring 1/3 cup of water to boil in a large pan. Put in the spinach and fenugreek, and cook gently, covered, for 25 minutes.
START MAKING RICE NOW. (We have forgotten to make rice on at least three occasions.)
About 10 minutes after you've put the spinach on, start heating 2-3 Tbsp peanut oil in another frying pan. Add the ginger, garlic, and chilis, frying them until they start to brown. Then add the tomato, and cook over medium-low heat for about 10 minutes, until the texture thickens.
After the spinach has cooked for 25 minutes, mash it a bit with a potato masher or wooden spoon. Stir the tomato mixture into the spinach mixture, then add the salt, cumin, and cayenne. Stir to mix, cooking gently for 5 minutes. You may need to add a tablespoon of cornstarch here, but we usually just try to remove any excess water.
Add the paneer, stir, and cook gently covered for another 5 minutes. Taste for salt.
Serve hot, with rice.