How to Make Mozzarella Cheese

This post may contain affiliate links, including those from, which means we earn a small commission off your purchases. And here's the thing: We only mention services and products that we think are truly worth your attention, whether they're free, paid, or otherwise. This site relies on YOUR trust, so if we don't stand behind a product 110%, it's not mentioned. Period.

How to Make Mozzarella Cheese |


My first attempt at mozzarella ended up in the tastiest cottage cheese you ever tasted. It was marvelous in our lasagna that evening, but it wasn't…. well… mozzarella.

I did a little troubleshooting and after that, things went much smoother and mozzarella became a staple in our repertoire. Of all the homemade, real food we make, this is certainly newer to us, but seeing as we all LOOOOOOVE cheese, it's a lovely necessity.



2 gallons whole milk, preferably raw
2 teaspoons citric acid, divided – 1 tsp dissolved in 1/4 cup water, 1 tsp sprinkled directly into warm milk
1 cup cultured buttermilk (optional – used for flavor)
30 drops rennet mixed with 1/4 cup water (approx. 3/8 tsp)
4-8 litres (1-2 gallons) fresh water
½ – 1 cup sea salt (maintain the ratio of 1/4 cup salt : 2 litres water)



Heat milk and buttermilk in a large heavy-bottomed pot to 50°-55°F. Pour dissolved citric acid into milk and stir for one minute, then sprinkle remaining citric acid granules into the milk and stir for another minute. Heat mixture to 88°F over low heat, stirring occasionally. Turn off heat at 88° to ensure the mixture does not overheat.

Stir rennet into cold water, then pour into milk mixture, stirring for 15-20 seconds. Let stand, covered and undisturbed, until it solidifies and is able to be sliced, at least 15 to 30 minutes. Time is not important here – getting a defined, solidified “clean break” is.

Using a long knife, make cuts across stiffened milk mixture at ½-inch intervals, reaching down to bottom of pot, then make similar cuts to form a crosshatch pattern (small squares) on top. Let stand, undisturbed, 5-10 minutes.

Heat the curds to 108°F, stirring occasionally to keep them separated. They will shrink slightly as they are heated. Turn off the heat and allow it to sit for about half-an-hour, again stirring occasionally. At the end of this time, the curd and the whey should have separated.

Line a large sieve with cheesecloth and set over a bowl. Using a ladle or slotted spoon, transfer curds to center of cheesecloth. Gather sides up over curds to form a sack and tie sides together with a long piece of string as close to curds as possible but without squeezing curds. Suspend sack and let cheese hang to drain whey. Keep the sack several inches above the bowl so that the sack will not come in contact with any of the whey as it accumulates. Let hang until no more whey drips out (and as long is convenient for you) – anywhere from one hour to overnight. Save the whey to make ricotta.

Remove cheese from cloth and break it up into small clumps with your hands. Prepare a large bowl of cold, salted water to receive the finished mozzarella balls. (Prepare salt solution by dissolving salt in a small amount of boiling water and adding it to an ice bath.)

Heat a large pot of heavily salted water to 170°F and remove from the heat. Transfer the curds into the pot. Let stand until curds start to meld together, about 2 minutes. Working in three batches, gather curds together with a slotted spoon and remove to a bowl. Using your hands or two wooden spoons, gently stretch and fold the curds, squeezing out the whey. If it becomes difficult to stretch and breaks easily, dip it into the hot water for a few seconds or hold it under the hottest running tap water you can stand to make it warm and pliable again (3 to 5 times). Continue folding and stretching until curds become smooth, shiny, and elastic. When you can stretch it like taffy, it is done.

Form into a ball by tucking outside into center, then pinch edges together. Place mozzarella in cool water to cool completely before eating. Make remaining cheese in same manner, reusing hot 170°F salted water for subsequent batches.

Store finished mozzarella in a sealed container in the refrigerator for 5-7 days.


Mozzarella Troubleshooting

So, it turns out in my first batch the problem was with the store-bought milk. If the milk was pasteurized at too high a temperature, the curds won't meld together when it's time to stretch them. If this happens to you, try the recipe again with a different brand of milk, or even better, switch to raw milk. Raw mozzarella has the reputation of being the least problematic, not to mention the most delicious!

For other mozzarella troubleshooting, visit The Cheese Forum, Dr. Fankhauser's cheese pages including Italian Mozzarella and “Problems Getting a Clean Break,” and the New England Cheesemaking's “All About Milk” page.


The Process in Photos


Two gallons of milk heating slowly
Stirring the warming milk
Adding the citric acid
Rennet ready to go
Testing the density of the set milk
Cut into curds
Curds beginning to separate
Curds continuing to separate
Curds completely separated and stirred after 30 minutes
Strainer, tea towel, and bowl ready to receive curds
Curds being ladled into the strainer
Cheese hanging
Salted water at 170°F
Curds crumbled ready to go into hot, salty water
Work bowls ready
Stretching the mozzarella(click photo for photo credit – thank you, grongar!)
Little bites of heaven, ready to savor





Print Friendly, PDF & Email


  1. This is the 1st time I visit your website and I loved it. Great Site.
    Your instructions for the mozzarella cheese are so easy to follow that I am going to give it a try.

    Thank you,

  2. HELP!I tried making this today and andall was going great, I add the citric acid and it started to clump up , I heated it to 88 degrees then I added the rennet to my hot milk and let it set for over 40 minutes and it isn’t solid enough to make clean slices into it.
    Did I not have the rennet dissolved? Can I heat it up and add more to it? Or is it completely ruined…
    Tell me how to save it if at all possible. Thanks, Trixi

    1. Ai! I know that feeling! No worries – sometimes it just takes awhile depending on the freshness of the milk and other factors. (I’ll paste in some further ideas from Dr. Fankhauser’s page at the bottom of this comment.)

      Once the rennet is in, you can’t heat it up again, but just let it keep sitting. If after 12 hours or so, it still hasn’t firmed up, at THAT point you can consider it a write-off. I’m not sure what to suggest to do with the milk, though – make soup perhaps? I’m sure someone has written about it somewhere, so definitely Google it before tossing it away. I’m sure it’s useable for some purpose if not for cheese! 🙂

      Good luck!

      So, here are the eight things that usually lead to not getting a clean break, according to Dr. Fankhauser:


      1) Was the milk fresh, and warmed up to room temperature?
      If milk has started to “turn,” the wrong bacteria can grow and prevent the starter bacteria from growing properly and acidifying the milk. (If you use store bought, check the expiration date for the freshest.) Also, if the milk is not warmed properly (at several stages), bacteria will not grow, or rennet will not act on the milk.

      2) Was the starter fresh and active (either buttermilk or yogurt)?
      The bacteria in the starter must be alive and well. Bacteria may have died in outdated starter. When in doubt, purchase the freshest buttermilk or freshest Dannon plain yogurt which you confirm is not outdated.

      3) Did you add the correct proportions of starter for milk?
      If you add too little starter, the milk will not be acid enough for the rennet to work. If you add too much, the milk may get over acidified and curdle. Over acidified milk is recognize the by a slight thickening (clabbering) of the milk. The milk should look exactly like regular milk when the rennet is added. If the milk is even slightly clabbered, you will NEVER get a clean break Remember that buttermilk contains mesophilic bacteria which grow well at room temperature while yogurt contains thermophilic bacteria which grow more slowly at room temperature. Buttermilk bacteria are aggressive acidifiers. Therefore, it takes 1/2 to 1/4th as much buttermilk as yogurt to act as starter. (With very active buttermilk, you may only need 2 teaspoons/gallon of milk for proper acidification.)

      4) After adding bacterial starter, did you let the inoculated milk incubate (sit) at room temperature overnight?
      Bacteria will not grow if the milk is not warm enough. It should stay close to 68 F (20 C) overnight so that the bacteria can grow and make lactic acid to acidify the milk. This room temperature incubation is mandatory. If it is too warm, the milk may over acidify.

      5) The next morning, did you warm the inoculated and incubated milk up properly before adding the rennet?
      Because rennet is an enzyme, it works better at warm temperatures, and hardly at all in cool milk. Also, if the milk is warmed too high, the curd will be tough, and alter the quality of your cheese. The consistency of the milk should not change when warmed.

      6) Was the rennet active, did you use the correct amount?
      Rennet is an enzyme, and can deteriorate with time. I have never had problems with Junket Rennet tablets going bad even after a year or two, but I have heard of liquid rennet losing its potency. Obviously weakened or inadequate quantities of rennet will require longer to achieve a clean break, if ever. If you add too much rennet, I have heard that the curd may taste bitter, but I have never experienced this. It will not hurt to add twice the called for rennet if you are in doubt as to its potency.

      7) Did you let the inoculated milk sit UNDISTURBED after you added the rennet? (This is crucial to getting a clean break.)
      If you disturb the inoculated milk after it has begun to set, even a little, you may never achieve the tight curd required for a clean break. Once you have added the rennet, be careful to place the container in a place where it will not be jostled.

      8) Were you patient enough to wait for a clean break? (We repeat… DO NOT DISTURB.)
      After the specified time (30 minutes to overnigh, depending on the cheese), gently lift the lid, slowly plunge your finger into the milk and lift. If it is still liquid, carefully replace the lid and try it again in an hour or so. If it is slightly thickened, let it sit for another 30 minutes without disturbing it. If you have not achieved a clean break in 12 hours, you probably never will.

      If you did all these, then you should expect to achieve a clean break within 2-3 hours at the longest.

  3. Pingback: The Fake Food You Don't Know You're Eating (Part 2) - Keeper of the Home
    1. Great question! Every health food store from whom I have purchased rennet also sells a vegetable-based rennet, so they’re widely available. has one, which is also available on Amazon – you can see it here: (Heads-up: that’s an affiliate link, so if you’d prefer not to click it, just head to Amazon and search for “vegetable rennet.”)

      Good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.