Heat the milk in a large non-stick pot, or Dutch oven, over medium heat until it comes to a simmer, stirring frequently. This will take 20 minutes.
Add vinegar , a little at a time, stirring very very gently, until the cheese curds start separating from the whey. Stirring slowly helps keep the curds intact.
The paneer will begin to curdle into big lumps. The milk will gradually go from cloudy, to clear-ish, as it cools, and the whey will have a slightly greenish hue. Turn off the heat and allow it to cool for 5 minutes.
Place a cheese cloth over a colander, and over a bowl if you want to save the whey.
When completely cooled, gently pour and strain. Let the curds drain, and gently rinse with lukewarm water (to remove vinegar)
Gather the ends of the cheesecloth together, resisting the temptation to squeeze the water out – and let it drain naturally for 10 minutes.
Form a ball with the paneer in the center of the cloth and place a plate over top of the ball. Weight the plate down and place in the fridge for at least 15 minutes.
Gently remove the Paneer from the cheese cloth. Cut into smaller cubes if using in a curry. Paneer can be refrigerated for up to a week or can be stored in the freezer for longer periods.