How to Make Fresh Mozzarella at Home in 30 Minutes
Making fresh mozzarella at home takes 30 minutes, costs roughly £2.50 per 500g, and produces a cheese that is meaningfully better than most of what you can buy in a supermarket. The process is simple but precise: two acids, one enzyme, the right milk, and heat. Understanding why each step matters transforms what looks like kitchen alchemy into a logical sequence of chemistry. The most important thing to know before you start is also the most frequently overlooked: you must use whole milk that has not been ultra-pasteurised. This single requirement is the reason most first attempts at home mozzarella fail, and once you understand why, the process becomes straightforward.
Why the Milk Matters Above Everything Else
Ultra-pasteurised milk (UHT or "ultra-pasteurised" on the label) is heated to 135–150°C for 2–6 seconds. This extreme heat denatures the whey proteins, particularly beta-lactoglobulin, and disrupts the calcium balance in the milk. The result: when you add rennet to UHT milk, the enzyme cannot form a proper gel. You get a weak, fragile curd, or no curd at all, and the whey separates incompletely. The milk effectively refuses to become cheese.
Standard HTST-pasteurised whole milk (72°C for 15 seconds) retains enough protein structure and calcium to form a good curd. In the UK, most supermarket fresh whole milk (not long-life) is HTST-pasteurised and works well. In the US, look for milk labelled "pasteurised" without the word "ultra" and avoid anything sold in cartons with a shelf life measured in months. Organic whole milk from smaller producers often works especially well because it tends to be less aggressively processed.
Raw (unpasteurised) milk produces the best mozzarella of all. If you have legal access to raw milk (available via farm shops and some specialist retailers in the UK under current legislation), the flavour difference is significant. Raw milk already contains the bacterial cultures and enzymes that make traditional Pugliese mozzarella taste the way it does.
Equipment You Need
- A large, heavy-bottomed stainless steel pot (6-litre capacity for a 4-litre batch)
- An accurate digital food thermometer (essential; do not attempt without one)
- A long knife for cutting curds (a bread knife works)
- A slotted spoon or skimmer
- Cheesecloth or a fine mesh sieve
- A large mixing bowl
- Rubber or latex gloves (the stretching step requires handling very hot curd)
Ingredients for 500g Mozzarella
- 4 litres whole milk (HTST-pasteurised, not UHT)
- 1.5 teaspoons citric acid powder (available online or from home brewing shops)
- 60ml cold, unchlorinated water (filtered or bottled), divided into two 30ml portions
- 1/4 teaspoon liquid animal rennet (or 1/8 tsp double-strength rennet)
- 1–2 teaspoons fine salt
Step-by-Step Method
Step 1: Dissolve the Citric Acid (2 minutes)
Dissolve the citric acid in 30ml of cold water in a small cup, stirring until fully clear. Pour the cold milk into your pot and stir in the citric acid solution. The acid begins lowering the milk's pH immediately, which will allow the curd to stretch properly at the end. Do not warm the milk yet.
Step 2: Dissolve the Rennet (1 minute)
In a separate small cup, dissolve the liquid rennet in the remaining 30ml of cold water. Set aside. Using cold water prevents the rennet from activating before it enters the milk; heat activates the enzyme, so you want it dispersed before it begins working.
Step 3: Heat to 32°C (5–8 minutes)
Place the pot of acidified milk over medium-low heat and warm slowly to 32°C, stirring gently. Use the thermometer continuously. The gentle stir keeps the temperature even and prevents scorching at the bottom. At 32°C, remove the pot from the heat, add the dissolved rennet solution, and stir with an up-and-down motion for 30 seconds. Stop stirring completely.
Step 4: Set the Curd (5 minutes)
Cover the pot and let it sit undisturbed for 5 minutes. At the end of this time, you should see a clean break: a firm, tofu-like curd that pulls cleanly away from the pot wall and is surrounded by yellowish-green whey. If the curd is still soft and milky, wait another 2 minutes. The clean break is the visual confirmation that your rennet has worked.
Step 5: Cut and Heat the Curd (8 minutes)
Cut the curd into a grid of 2.5cm cubes using the long knife, cutting vertically in two directions and then angling the knife to cut horizontally. The cutting increases the surface area of the curd and helps whey expel. Return the pot to medium heat and warm slowly to 41°C, stirring the cubes gently with the slotted spoon as they heat. The curds will shrink and firm as they warm.
Step 6: Drain the Whey (2 minutes)
Pour the curds into a cheesecloth-lined colander or large sieve over a bowl. Press gently to expel excess whey. Reserve the whey: you will store the finished mozzarella in it (with a little added salt), and it is excellent for making ricotta, bread, or added to soups.
Step 7: Stretch the Mozzarella (5–8 minutes)
This is the defining step, and it requires the curd to reach an internal temperature of 60°C. Below this temperature the protein chains will not align; the curd crumbles and tears rather than stretching. There are two methods to achieve this:
Hot water method: Heat a large pot of water to 70–80°C. Place the drained curd mass in the hot water. Wearing rubber gloves (the water is very hot), reach into the pot and stretch and fold the curd repeatedly, pulling it into a long rope and folding it back on itself. It will initially tear, then begin to stretch smoothly as the internal temperature rises above 60°C. Continue for 2–3 minutes until the surface becomes glossy and the texture is smooth and elastic.
Microwave method: Place the curd in a microwave-safe bowl and heat on high for 30 seconds. Pour off the expelled whey, fold the curd, and heat for another 30 seconds. Repeat until the curd is pliable and stretchable, usually 3–4 cycles. This method is faster but gives slightly less control over the texture.
Once the curd stretches smoothly, sprinkle over the salt and fold it in during the final stretches. Form the mozzarella into balls by tucking the surface under repeatedly, or twist off individual balls by pinching between thumb and forefinger. The surface should be smooth, shiny, and taut.
Why the Stretching Matters: The Protein Science
Mozzarella belongs to the pasta filata (stretched curd) family of cheeses, which includes provolone, scamorza, and caciocavallo. The stretching process physically realigns the casein micelle chains in the curd into parallel arrays. This alignment is what gives mozzarella its characteristic stringy, layered texture when you pull it apart or bite into it on a pizza.
At temperatures below 60°C, the protein network is too rigid to realign. You can stretch it, but it tears along the existing random micelle arrangement rather than flowing into new configurations. Above 70°C, the fat phase in the curd melts out too aggressively and the surface becomes greasy and loose. The 60–70°C window is where pasta filata magic happens, which is why temperature precision matters.
Common Failures and How to Fix Them
No curd forms: Almost certainly UHT milk. Check the label for "ultra-pasteurised" and replace the milk. Less commonly, the problem is chlorinated tap water inhibiting the rennet; switch to filtered or bottled water for dissolving the rennet.
Curd is grainy and crumbles when stretched: The curd temperature during stretching was too low. Re-immerse in hotter water (75°C) and try again; the curd can often be rescued even after a failed first stretch attempt.
Mozzarella is tough and rubbery: Over-stretching is the most common cause. Stop stretching as soon as the surface is smooth and glossy. Every additional fold past that point toughens the cheese by over-aligning and compressing the protein chains.
Cheese is greasy on the outside: Stretching water or microwave temperature was too high, causing fat to melt out of the curd. Work at 70°C maximum in the stretching water, and let the curd cool slightly between microwave bursts.
Cheese is bland: Not enough salt. Mozzarella is a mild cheese by nature, but it needs a measured 1.5–2% salt by weight. For 500g of mozzarella, that is 7.5–10g of fine salt. Add it during stretching and taste as you go.
Storing and Using Your Mozzarella
Store fresh mozzarella in the reserved whey, lightly salted (1 tsp salt per litre of whey), in the refrigerator. It will keep for up to 3 days but is significantly better eaten within 24 hours, as it is best when the proteins are still freshly aligned and the moisture content is at its peak.
For pizza, remember that fresh mozzarella contains much more moisture than low-moisture packaged mozzarella. Tear it rather than slice it, blot the pieces gently with kitchen paper to remove surface moisture, and add it 5 minutes before the pizza finishes cooking rather than at the start. This prevents the top of the pizza from becoming waterlogged.
For making burrata, form the stretched mozzarella into a bowl while still hot, fill with stracciatella (shredded mozzarella mixed with fresh cream at a 60:40 ratio), seal the edges, and refrigerate immediately in salted water. Eat within 12 hours.
Scaling Up and Cost
Four litres of whole milk yields approximately 500g of mozzarella, with around 3.3 litres of whey as a by-product. At current UK supermarket prices (around 60p per litre for whole milk), the milk cost alone is £2.40. Adding citric acid (pennies per batch from a 250g bag costing £3–4) and rennet (available from cheesemaking suppliers such as CheeseMaking.co.uk for around £4–5 per 50ml bottle, sufficient for 50+ batches) brings the total to approximately £2.50–£2.70 per 500g. Supermarket fresh mozzarella costs £2.00–£3.00 for 125g. The economics are compelling, and the quality is incomparably better.
Related: Burrata: What It Is and How to Serve It Perfectly | Ricotta vs Cottage Cheese: Which to Use When