Avoid ultra-pasteurized milk (pasteurized is fine) since it is designed to separate with difficulty and yields much less cheese.
The cheese will keep in the refrigerator in an airtight container for up to 3 days. Strain the leftover whey through a fine sieve and reserve the liquid to make especially smooth and tender pasta doughs (in place of water) and breads.
½ gallon whole milk (not ultra-pasteurized) ¾ cup heavy cream 1½ teaspoons kosher salt 3 Tablespoons distilled white vinegar
In a Dutch oven or heavy-bottomed pot, stir together the milk, cream, and salt. Gradually warm the mixture over medium-high heat, stirring occasionally to prevent the milk from scorching, until it reaches 195 to 200°F/90°C (just below a boil), about 15 to 25 minutes depending on your burner. If you don’t have a thermometer, look for lots of steam and a layer of frothy bubbles on the surface. Do not boil.
Stirring constantly, add the vinegar. Stir for a few more seconds, then remove from the heat and let the mixture stand undisturbed until the curds separate, 5 minutes. If the curds aren’t separating and/or the mixture still looks milky, return the pot to medium heat until large curds begin to form, then remove from the heat and let stand another 5 minutes. The liquid whey will be pale yellow in color.
Meanwhile, set a strainer over a large, heatproof bowl and line it with a few layers of cheesecloth, making sure there’s some overhang around the edges. With a spider sieve or slotted spoon, scoop the curds into the cheesecloth. Let drain until it’s reached your desired consistency, anywhere between 15 and 45 minutes.
For gnocchi dough, drain the cheese for about 30 minutes, then briefly whizz it in a food processor until thick and creamy (this is optional but yields especially smooth dumplings). For pasta fillings, drain the cheese for 20 to 30 minutes and chill before use. If enjoying on its own, drain for 15 minutes, whip it in a food processor if you’d like and season to taste with salt.