Soy vs Dairy: "Will it Curdle?" Experiment

As many baristas have noticed, soy milk is often harder to work with than dairy milk – it tends to curdle more in coffee, especially when steaming hot. With some coffees it behaves well, with some it doesn’t. Why does this happen? Is there anything we can do about it?

The answer, it turns out, boils down to acidity (pH) and temperature. Our step-by-step kitchen bench experiment explains why. And we’ll even describe a little trick to help make soy more curdle-resistant.

Observation: Baristas have observed that some coffees (especially lighter roasts) tend to curdle soy milk, while others are just fine. Meanwhile cow’s milk is usually more resistant to curdling. The question is, why?

To help us design an experiment to find out, we first need to formulate a hypothesis (that just means a guess).

This is what we know:

  • Milk curdles when its proteins, which are usually tied up in delicate knots, unravel. This can happen with the environment gets too hot, or too acidic. (And a couple of other reasons, check out our explainer to find out!)

  • Darker espresso roasts are generally less acidic than lighter roasts (that’s because many acids break down during roasting). If acidity is the answer, that would explain why soy tends to curdle in lighter roasts.

Putting all this together here is our hypothesis:

Soy milk curdles more easily than cow’s milk because it is more sensitive to acidic environments.

Our next step is to test this hypothesis with a nice experiment.


In this experiment we will test what is the most acidic coffee pH that soy milk (and dairy milk) will still tolerate. We expect that dairy milk will tolerate more acid (lower pH) than soy. We will try the same idea with cold and hot milk and see how temperature affects the balance.

Let’s go!

Here’s the model setup.

We will need some Nescafe, Farmer's Own Full Cream dairy milk, VitaSoy Soy Milky soy milk, white vinegar, a digital balance, a pH meter and an infrared thermometer, cups and transfer pipettes.

The pH of coffee broadly sits in the pH 4 to pH 5.5 range. pH 4 is sharply acidic, while pH 5-5.5 would be a milder acid coffee. Our model coffee is a mild acid instant, Nescafe Gold. 5g powder was dissolved in 150 mL hot water, then cooled to room temperature. The pH of this coffee is 4.96, very close to pH 5. We will use drops of vinegar to adjust its pH in small steps during the course of the experiment. The pH of vinegar is around 2, so it will serve well to lower the pH of coffee.*

Part 1: Cold Coffee with Cold Milk

Our method in this first trial is simply to mix the coffee (10 g) with ~30 mL soy or dairy milk at room temperature (25 C).  Will it curdle…?

We have 10 g coffee at room temp, (pH measured without adjustment) and 30 g cold milk.

The Result: NO CURDLE!

Both milks have mixed smoothly with the pH 5 coffee. But what about with a more acidic coffee?

Now I’ll adjust the Nescafe to pH 4 with a few drops of vinegar and repeat.

The Result: CURDLE!

This time both milks have curdled with the pH 4 coffee. This means that there has to be a crucial pH value between 4 and 5, which will just allow the milk to mix smoothly with the coffee without curdling: a lowest safe pH limit. Where is it and is it different for soy and dairy?

After a few more trials, we start to get a nice picture of the different conditions that cause each milk to curdle.

Here’s a summary:

Our results show that when mixing cold milk with room temperature coffee, soy curdles quite easily, at a rather mild pH of 4.6. Meanwhile dairy milk is much hardier, you need a very acidic pH 4.1 to curdle it.


Soy milk is much more sensitive to acidity than dairy.

Part 2: Hot Coffee with Hot Milk

To leave it there would only be half the story, because very few baristas make room temperature coffee. So how do things change at higher temperature?

Observation: Soy milk becomes more of a problem when steamed and poured into hot coffee.

Besides acidity, heat is an important player in protein denaturation. As the protein heats up, its atoms bounce around violently and the delicate protein knot becomes easier to unravel. We can expect that hot milk will tolerate less acid than cold milk. Let’s test the guess!

Hypothesis: The milks will curdle easier at higher temperature.


Instead of steaming, this time I heated the milk in a microwave oven to 60-65C. I adjusted the pH of the coffee cold, then heated it above 90C (also in the microwave). I then immediately poured the hot milk and coffee together.

Here are a couple of quick highlights, then we’ll get to the summary.

The Result: While a pH 4.6 coffee did not cause any curdling of cold soy milk, the same coffee curdles the milk when heated to 90C and poured into hot milk. It’s not really terrible, but we are aiming for a perfectly smooth beverage, so let’s move one small step up to pH 4.7. 

The Result: NO CURDLE! pH 4.7 is the lowest safe limit for hot soy milk.

The Result: Hot dairy milk curdled with coffees below pH 4.5. pH 4.5 did not cause curdling. This time the difference between cold and hot dairy milk is quite surprisingly large: The pH of the coffee had to be increased to pH 4.5 so that curdling did not occur anymore. Hot dairy milk is much more sensitive to acid than cold milk, while this difference was smaller for soy.

When looking at hot milk, the minimum safe limit for soy is pH 4.7, while it is pH 4.5 for dairy. It does not look like a big difference, but it might just be crucial in terms of the coffees that would normally be used for milky coffees. Some coffees, especially lighter roasts could quite easily cross the pH 4.7 boundary, where soy becomes prone to curdling.

Part 3: A Chemical Quick-Fix

We see the real power of science when we can use what we’ve learned to propose a solution to our problem.

Our problem is that soy milk curdles too easily in acidic coffees. So, quickly adjusting the pH of the coffee before mixing it with the milk might just help.

We start off with a very acidic coffee, say pH 4.3, something which will definitely curdle the milk.  Then add a tiny pinch of bicarbonate soda (which is naturally found in tap water, especially hard water) until we’re above the safe limit. pH 4.75 should do. Then let’s heat up this coffee and mix it with hot soy milk. If the idea works, we should see no curdling.

The idea to add a pinch of bicarb has also been suggested by a member of the Barista Hustle FB group. Let’s put it to the test!

I only used a small fraction of the bicarb in the photo!

The Result: NO CURDLE!

Chemistry works! The soy milk does not curdle anymore after the coffee pH was adjusted above pH 4.7.

Of course it would be very important to test how the extra bicarb would affect the taste of a real espresso.

The simplest thing is probably to avoid using soy milk with more acidic coffees altogether. If the coffee pH is below the safe limit, it’s always going to be a problem.


So, we’ve seen the crucial role of pH (and temperature) in milk curdling. Soy is more sensitive to acidic pH and that’s why it curdles more easily.

The crucial pH where dairy milk starts to curdle when hot (pH 4.5) is below the pH of most coffees that are designed to be drunk with milk. For soy milk, the safe pH window (above pH 4.7) overlaps with the pH of some coffees that can be used in milky drinks, which brings up the question every time… will it curdle?? By measuring the pH of the coffee, it becomes easier to estimate if a certain coffee is likely to cause curdling problems with soy.


I would like to thank the Barista Hustle Community for the engaging discussion which has inspired this experiment.


Please let me know if you find this helpful through the Co