Tulo

Homemade Fresh Mozzarella Recipe

Three balls of glossy, hand-stretched fresh mozzarella sitting in a bowl of whey next to a knife with a sliced ball revealing a layered, tender interior.
Photo by Anil Sharma on Pexels

Citric acid acidifies the milk quickly and predictably so a small amount of rennet can set a clean curd in minutes, and heating that curd hot enough realigns the milk proteins into long strands, which is what makes the cheese stretch like taffy instead of crumbling.

Prep
20 min
Cook
20 min
Total
40 min
Servings
6

Ingredients

Servings6
  • 16 cups whole cow's milk, not ultra-pasteurized
  • 1 1/2 tsp citric acid
  • 1/4 tsp liquid rennet (or 1/4 rennet tablet dissolved in water)
  • 1/2 cup cool, non-chlorinated water (for dissolving citric acid and rennet)
  • 1 tsp fine cheese salt or kosher salt

Nutrition per serving

Calories
397
Protein
21g
Carbs
32g
Fat
21g

Based on the recipe as written, one serving. Recalculates if you swap an ingredient above. An estimate only, exact values depend on the specific ingredients used.

Need different units or a different yield? Try our Conversion Calculator

Instructions

  1. 1Pour the milk into a large stainless steel or enamel pot (avoid aluminum, which can react with the acid). Dissolve the citric acid fully in 1/4 cup (60ml) of the cool water, then stir it into the cold milk before any heat is applied.
  2. 2In a separate small cup, dissolve the rennet in the remaining 1/4 cup (60ml) cool water and set it aside.
  3. 3Heat the milk slowly over medium-low heat, stirring gently and constantly, until it reaches 90°F (32°C) on a thermometer.
  4. 4Remove the pot from the heat and stir in the diluted rennet using a slow up-and-down motion for about 30 seconds. Cover the pot and let it sit undisturbed for 5 to 10 minutes, until the milk sets into a solid curd with a clear layer of yellowish whey around the edges.
  5. 5Cut the curd into a rough 1-inch checkerboard grid using a long knife, slicing all the way down to the bottom of the pot.
  6. 6Return the pot to low heat and warm the cut curds gently to 105°F (40°C), stirring slowly and carefully so the pieces don't fuse into one mass. Remove from the heat once they reach temperature.
  7. 7Scoop the curds out with a slotted spoon into a microwave-safe bowl, pressing out as much whey as possible with the back of the spoon. Reserve the whey for storing the finished cheese.
  8. 8Microwave the curds on high for 1 minute, then knead gently with a spoon or gloved hands to check elasticity. Continue microwaving in 30-second bursts, draining off any released whey and kneading between rounds, until the curd reaches about 135°F (57°C) and stretches smoothly like warm taffy without tearing.
  9. 9Sprinkle the cheese salt over the hot curd and stretch and fold it repeatedly, working quickly while it's hot, until the surface turns smooth, shiny, and elastic.
  10. 10Pull off portions of the stretched curd and shape into balls by tucking the cut edges underneath and rolling between your palms until the surface is taut.
  11. 11Drop the shaped balls into a bowl of ice water for 5 to 10 minutes to set their shape and cool them all the way through.
  12. 12Store the mozzarella submerged in a container with some of the reserved whey or lightly salted water, refrigerated, until ready to serve.

Tips & variations

  • Ultra-pasteurized milk almost never sets into a firm curd because the high heat used to process it damages the proteins rennet needs to work on; check the carton and avoid anything labeled UHT or ultra-pasteurized.
  • White vinegar can replace citric acid in a pinch (use about 1/4 cup diluted in 1/4 cup water), though the curd sets slightly softer and tangier.
  • Save the leftover whey; it can go into bread dough or pizza dough in place of some of the water for extra flavor and tenderness.
  • For a richer, creamier version, work a splash of warm heavy cream into the center of each ball just before it fully cools and seals.

Storage & reheating

Keep fresh mozzarella submerged in its whey or a light salt brine in the refrigerator for up to 5 days; the cheese dries out and turns rubbery fast if left uncovered. It's best served cold or at room temperature rather than reheated, since melting toughens the delicate curd structure that makes it special. Freezing is not recommended, as it turns the texture watery and grainy once thawed.

Tips from the Tulo kitchen

  • A digital instant-read thermometer makes this far more reliable than guessing; the 90°F and 105°F marks are narrow enough that a few degrees off changes how the curd sets.
  • If curds won't stretch even after reheating, the milk was likely too processed or the rennet too weak; there's no fixing it at that point, but the curds still work fine crumbled over salads or blended into ricotta-style spreads.

FAQ

What makes mozzarella an Italian cow's milk cheese specifically?

Traditional mozzarella di bufala is made from water buffalo milk, but the far more common fior di latte version sold and eaten daily across Italy is made from cow's milk, which is what this recipe uses.

Why won't my curd stretch into strands?

This usually means the curd wasn't heated hot enough before stretching (it needs to reach roughly 135°F) or the milk was ultra-pasteurized, which permanently damages the proteins responsible for stretch.

Can I use pre-shredded or store-bought mozzarella instead of making it fresh?

For this recipe no, since the process relies on raw curd that hasn't been aged or had anti-caking starches added; shredded mozzarella won't re-melt into a stretchable mass the same way.

How long does homemade mozzarella last?

Stored submerged in whey or lightly salted water in the refrigerator, it stays good for about 5 days; it's noticeably milder and softer than store-bought versions, which are often stabilized to last weeks.

Can this recipe be doubled?

Yes, using a gallon of milk as written already makes a modest batch; doubling the milk, citric acid, and rennet proportionally works well, though the curds take slightly longer to heat evenly, so watch the thermometer rather than the clock.

More recipes