1/2 gallon whole milk (avoid ultra-pasteurized/ UHT milk) Acid of choice: 1/3 cup lemon juice, distilled white vinegar, apple cider vinegar or cultured buttermilk; or 1/2 teaspoon citric acid 1 tsp salt, optional
Pour the milk into a 1-gallon pot and set it over medium-low heat. Let it warm gradually to 180°F, monitoring the temperature with a thermometer. The milk will get foamy and start to steam (remove it from heat immediately if it starts to boil.) Remove milk from heat. Pour in the acid of choice and the salt. Stir gently to combine.
Let the pot of milk sit undisturbed for 10 minutes. The milk should separate into clumps of milky white curds and thin, watery, yellow whey. Set a large strainer over a bowl and line the strainer with muslin cloth. Gently scoop the curds out of the pot with a wide slotted spoon and transfer them to the strainer. Pour the remaining curds and the whey through the strainer, being careful not to break up the large curds.
RICOTTA: Let the curds drain for 10 to 30 minutes, depending on how wet or dry you prefer your ricotta. If the ricotta becomes too dry, stir some of the whey back in before using or storing it.
QUESO FRESCO/PANEER: Pull the corners of the muslin cloth up and twist it tightly to remove more moisture. Hang to drain for an additional 10 minutes. Put cheese into a basket mold and weigh it down for 20 minutes with a heavy jar. Remove the weight and let it sit overnight in the fridge. Cut into cubes for paneer. Crumble for queso fresco.