Fresh mozzarella is made with four simple ingredients: milk, rennet, citric acid, and salt. It’s especially good made with whole milk—just make sure it’s not ultra high temperature (UHT) pasteurized. Both liquid rennet and citric acid can be purchased online or in specialty cheese shops.
Start by combining 1 cup water with 1 1/2 teaspoons citric acid in a bowl until dissolved. In a separate bowl, combine 1/4 cup water with 1/4 teaspoon liquid rennet.
Add The Rennet
Pour 1 gallon whole milk into a large heavy pot. Stir in the citric acid mixture and heat over medium-high heat until it reaches 90°F on an instant-read thermometer (it will feel slightly warm to the touch). Remove the pot from the heat, stir in the rennet mixture, and continue stirring for 30 seconds. Cover and set aside for 5 minutes.
Cut the Curds
After 5 minutes, the mixture should be set with a gelatin-like texture, and pull away from the sides when you jiggle the pot. (If it's still a liquid, let it sit for another 5 minutes). Once set, use a long knife or large offset spatula to cut the curds: Making sure to reach all the way down, make vertical and horizontal cuts at 1/2-inch intervals across the surface to form a crosshatch pattern.
Cook the Curds
Set the pot over medium heat and cook, stirring gently every once in awhile to avoid breaking up the curds too much, until the curd mixture reaches 105°F. Remove the pot from the heat and set aside for another 5 minutes, stirring occasionally.
Separate the Curds From the Whey
Dip a fine-mesh sieve into the pot and use it to separate the curds from the thin yellowy liquid (the whey). Clump the curds together and drain off as much whey as possible. Discard the whey (or reserve for another use).
Bring a second large pot of water to just below boiling, about 185°F. Put the curds in the strainer and lower into the hot water for 2–3 minutes. Wearing food-safe rubber gloves, fold the curds several times, then check the internal temperature of the curds. If necessary, return the curds to the hot water in order to reach 135°F.
Sprinkle 1 teaspoon kosher salt over the cheese. Working over the pot of hot water, gently fold the curds over itself, stretching as you fold. If the mozzarella gets cool as you stretch it, return it to the pot of hot water for 10–20 seconds, then continue. Repeat folding and stretching until the curds becomes smooth and elastic.
Shape The Mozzarella
To finish the mozzarella, shape it by pulling the edges in towards the base to form one large ball, two smaller balls, or many bite-sized balls. Seal the shape by placing the finished mozzarella ball in a bowl of ice water for 5 minutes.