(updated October 13th, 2026)
Whole milk, for a traditional cappuccino. It’s what the Italian version is made with, and it gives the drink its body and flavor. It isn’t the best milk for foam, though: skim milk froths up more easily and holds longer, because foam is built by protein and fat works against it. If you want a plant milk, a barista oat milk is the most reliable choice, and in a 2024 study oat made the longest-lasting foam of eight milks tested.
Which dairy milk is best for a cappuccino?
It depends whether you’re choosing for foam or for flavor, because the two pull in opposite directions. Milk proteins are what wrap around the air bubbles and hold them; heat helps by unfolding the whey proteins so they can do it. Fat does the reverse. A 2023 paper from the University of Queensland notes that “the negative effects of fat… on milk-foaming properties are well known”, both as solid fat crystals that break the bubble walls and as liquid fat that thins them.
So skim milk makes the most foam. In one lab study by the same group, skim milk mixtures made 16 times the foam volume of whole milk at the same protein level, and the foam lasted longer. Whole milk makes less foam, but it tastes richer and fuller, which is why the Italian specification calls for whole milk anyway. The drink is judged on taste, not on how long the foam survives.
| Dairy milk | Foam | Flavor and body |
|---|---|---|
| Whole | Less foam, harder to texture well | The richest; the traditional choice |
| 2% (reduced fat) | In between | Lighter, still creamy |
| Skim | The most foam, and the longest-lasting | Thin; the foam can taste of very little |
If dairy disagrees with you, whether a cappuccino can upset your stomach goes through what’s likely to blame.
Which plant milk is best for a cappuccino?
Barista oat milk, for most people. The most useful evidence here is that 2024 study, published in Soft Matter by researchers at the University of Illinois Chicago, which frothed two animal milks and the six most popular plant milks with an electric frother on cold (10°C) and hot (65°C) settings. Its headline findings, taken from the study’s summary:
| Milk | What the study found |
|---|---|
| Oat | The longest-lasting foam of all eight; one of the top three plant milks for foaming |
| Soy | One of the top three plant milks for foaming; beats cow’s milk when cold |
| Pea | One of the top three plant milks for foaming |
| Almond | Beats cow’s milk when cold |
| Cow | Makes more foam than the best plant milks when hot |
| Goat | Makes more foam than the best plant milks when hot |
| Coconut | Not singled out either way in the summary |
| Rice | The least foam, and the least stable |
Two things stand out. First, temperature flips the ranking: hot, the animal milks make more foam; cold, oat, soy and almond all beat cow’s milk. That’s useful if you drink iced cappuccinos, where a plant milk can be the better choice. Second, plant milks don’t foam the way dairy does. Most contain far less protein: a Swiss comparison of 27 plant drinks found that apart from soy, “most milk alternatives contained ≤ 1% protein”. Much of their foam comes from what’s added to them, and the Soft Matter authors point to thickeners and emulsifiers such as lecithin doing some of the work proteins do in dairy.
Each one has its own quirks: oat, soy, almond and coconut each have their own page.
What is barista milk?
Milk that’s been reformulated to foam more reliably. As two University of Queensland researchers put it in The Conversation, the difference is what gets added. Dairy barista milk has extra protein, about 4 to 5% against 3.3 to 3.5% in regular milk, usually from added milk solids. Plant barista milks instead tend to add:
- vegetable oils, for creaminess and thickness
- gums such as gellan or locust bean gum, to thicken
- maltodextrin, a processed starch, also to thicken
- emulsifiers such as lecithin, to stop the fat and water separating
Almond milk relies on these most, since it’s naturally low in protein: the same researchers say almond barista milks “will almost always contain gums, starches and emulsifiers along with added vegetable oil”. For a plant milk, the barista version is usually worth it. For dairy, ordinary whole or skim milk foams well enough without it.
Why does plant milk split in coffee?
Mostly heat, helped along by the coffee’s acidity. When researchers at the University of Strathclyde studied soy milk in coffee, they found the “curdling” happens at high temperature and not at low, and that it’s reversible: the mixture came back together when it was cooled or when more soy milk was added. They tested soy milk in instant coffee, but the same practical fixes are worth trying with any plant milk:
- Let the coffee cool for a minute before adding the milk.
- Don’t overheat the milk when you froth it.
- Use a little more milk, which the study found pulls a split mixture back together.
- Buy the barista version. Oatly, for example, adds an acidity regulator (dipotassium phosphate) to its Barista Edition specifically to stop it separating in hot drinks.
Can you use half-and-half or cream instead?
You can, but expect less foam, not more. Both have far more fat than whole milk, and fat is what works against foam, so they give a richer, heavier drink with a thinner cap. Half-and-half and whipping cream each have their own page.
The milk also decides most of a cappuccino’s calories, since the espresso adds almost none. Calories by milk type has the figures for each.
So which milk should you use?
| If you want… | Use |
|---|---|
| The traditional taste | Whole milk |
| The most foam | Skim milk |
| Dairy-free | Barista oat milk, or barista soy for more protein |
| An iced cappuccino | Oat, soy or almond, which beat cow’s milk cold |
| To avoid splitting | A barista plant milk, added to slightly cooled coffee |
If I had to pick one carton for every situation, it’d be whole milk for hot and barista oat for cold or dairy-free. And whatever you use, the temperature matters as much as the milk: steaming past about 70°C makes any milk taste cooked.