Begin by heating the milk. Pour milk into a large, heavy-bottomed pot. Stir the milk until cream dissolves in milk.
Warm over medium-low heat, stirring occasionally, until milk reaches 109°F (about 18 minutes) making sure to not overheat the milk.
Remove from heat, and thoroughly whisk in the rennet. Cover pot, and let stand for 1 hour.
After 1 hour, check the consistency of the curd by using a small knife to pierce the surface. It should be set like firm custard.
Using a large metal whisk, cut the curd into approximately 1/4-inch pieces. Let stand until curds sink to bottom of the pot, about 5 minutes.
Meanwhile, line a colander with damp cheesecloth (with enough overhang cloth to tie the ends together to form a bag), and set inside a large bowl.
Using a slotted spoon, transfer curds to colander.
Gather corners of cheesecloth, and lift with one hand while gently squeezing curds in cheesecloth with other hand to drain thoroughly. This will take 8-10 minutes.
Return to the colander, and let drain for another 10 minutes. Then, discard whey.
With clean hands, open cheesecloth, and transfer cheese to a medium bowl.
Break open cheese ball, and sprinkle with salt. Gently mix, breaking up cheese until salt is well incorporated.
Line the cheese molds with damp cheesecloth, allowing excess to drape over sides.
Add curds to mold, pressing to fill evenly.
Fold cheesecloth over top, and press to expel remaining whey. Let stand 10 minutes.
Unmold cheese, flip, and return to cheesecloth-lined mold (the bottom will now be the top). Press cheese gently to set shape (a large can of tomatoes or beans works well as a weight for this).
Transfer mold to a rimmed baking sheet, and chill at least 1 hour and up to 6 hours before unmolding.
Unmold cheese, and serve immediately, or store in an airtight container in the refrigerator for up to 1 week. Cut into wedges or crumble before serving.