Use cold whole dairy milk, straight from the fridge, and stop heating it at around 140 to 150°F. That is the answer for almost everyone: whole milk has enough protein to build a stable foam and enough fat to give the drink body and a soft, glossy texture, and the temperature ceiling is what keeps it tasting sweet instead of cooked. If you need a plant milk, buy a version labelled “barista” — those are reformulated specifically so they can foam, and the standard versions of the same brands usually cannot.
Two components do the work and they pull in opposite directions. Protein stabilises the foam: as milk is aerated, proteins unfold at the surface of each bubble and hold it together, which is why skim milk — proportionally higher in protein, with almost no fat — produces the most voluminous, stiffest foam of any milk. Fat does the opposite to volume and the right thing to quality: it interferes with that protein network, so you get less foam, but what you get is finer, denser and glossier, and the drink tastes richer. Whole milk is the compromise most people prefer, and it is what cafes pour.
That trade explains the two classic mistakes. Someone chasing the tall, dry foam of a traditional cappuccino uses skim and then wonders why their latte tastes thin and watery. Someone chasing latte art uses skim because it foams easily and then cannot pour anything, because stiff dry foam does not flow. If you are learning to pour, use whole milk: it produces the wet, paint-like microfoam that pours, and it is more forgiving of a slightly long stretch.
Temperature is the variable people get wrong
Milk texturing has a hard ceiling. Heated too far, lactose stops reading as sweet and the proteins denature far enough to give a distinctly cooked, eggy flavour, and the foam you built starts collapsing into large bubbles. Breville's own espresso machine documentation puts the target band for textured milk at roughly 140 to 149°F (60–65°C), and that matches standard cafe practice. In practice you do not need a thermometer: the outside of a metal pitcher becomes genuinely uncomfortable to hold at about the right moment, and that is the cue to stop.
Start cold, too. Cold milk gives you a longer window between “stretching” — introducing air — and reaching the temperature ceiling, which is the whole skill. Milk that starts at room temperature leaves you almost no time to work with, which is why half-finished pitchers from the counter froth so badly.
The dairy options, ranked for frothing
Whole milk: the default. Best balance of stable foam, body and sweetness, and the easiest to pour with. Buy this unless you have a reason not to.
Semi-skimmed / 2%: very close behind, slightly more foam volume and slightly less body. A perfectly good everyday choice.
Skim: the most foam, the stiffest foam, the thinnest drink. Genuinely the right answer for a traditional dry cappuccino and the wrong one for a flat white or latte art.
Ultra-filtered / high-protein milks: foam enthusiastically because of the extra protein. Texture can be slightly odd and the flavour is sweeter than standard milk, so treat it as a preference rather than an upgrade.
Lactose-free dairy: works well. The lactose has been split into simpler sugars, so it tastes noticeably sweeter when heated, which some people like a lot.
Raw, non-homogenised or cream-top milk: inconsistent. Homogenisation distributes fat evenly, and milk without it textures unpredictably.
Plant milks: buy the barista version
Plant milks do not naturally contain the protein structure that stabilises dairy foam, so manufacturers engineer it back in — added protein, stabilisers, a little fat, and often acidity regulators to stop the milk splitting in hot, acidic espresso. That is what a “barista” label means, and it is why the barista version of a brand froths while the standard carton of the same brand does not.
Oat (barista): the most reliable non-dairy option and the closest to whole milk in texture. Pours well, tastes neutral-sweet, and resists splitting.
Soy (barista): the original non-dairy answer, and the highest in protein, so it foams readily. More prone to curdling in very hot or very acidic coffee than oat.
Almond: thin and prone to large, short-lived bubbles unless you use a barista formulation. Even then it is the hardest of the three to pour.
Coconut and rice: low in protein and generally poor for foam. Fine in the drink, difficult on the wand.
One practical note for plant milks: they are less tolerant of heat than dairy. Stop earlier than you would with milk, because an over-heated oat milk goes thin and separates rather than merely tasting cooked.
Below is the gear that textures any of this properly, which is a different question from which carton to buy — and for most people the limiting factor is the equipment rather than the milk.
Which milk for which drink
| Milk | Foam volume | Pourability | Best for |
|---|
| Whole dairy | Good | Best | Latte, flat white, latte art, everything by default |
| 2% / semi-skimmed | Very good | Good | Everyday milk drinks with a little less body |
| Skim | Highest | Poor | Traditional dry cappuccino |
| Barista oat | Good | Good | The most reliable non-dairy choice |
| Barista soy | Very good | Fair | High-protein non-dairy; watch for splitting |
| Almond / coconut / rice | Low to fair | Poor | Drinking, not texturing |
Why your equipment matters more than your carton
Three tools produce three different results from identical milk. A steam wand injects steam and air and lets you stretch milk into glossy microfoam that pours — the only setup that can produce latte art. A jug frother spins milk against a disc, which makes good, consistent foam that does not pour. A handheld whisk aerates, which makes airy foam that collapses quickly. If your foam is coarse and dies in a minute, the milk is probably not the problem.
The three mistakes
Starting with warm milk. You lose the working window between stretching and the temperature ceiling. Always start cold from the fridge.
Over-heating.Past roughly 150°F the drink tastes cooked and the foam starts to break. Use the pitcher as your gauge; stop when it is uncomfortable to hold.
Re-steaming leftover milk.Milk that has already been textured and cooled will not foam properly again — the protein structure has already done its work. Steam what you need, and keep the surplus for something else.
Does fresher milk froth better?
Within its date, not noticeably. Milk approaching the end of its life does froth worse, because acidity rises as it ages and that destabilises the foam, so a carton that is a day from turning will underperform badly. Buy it fresh, keep it cold, and do not leave the pitcher out between drinks.
UHT, and why cafes abroad use it
Ultra-heat-treated milk froths perfectly well, which surprises people. The protein structure that matters for foam survives the process, and plenty of cafes in warm countries run on it. It tastes slightly cooked compared with fresh milk, which is the real objection — a texture question it is not.
The other half of a milk drink
Getting the milk right exposes whatever is wrong with the coffee underneath it. If the foam is glossy and the drink still tastes thin and vaguely coffee-flavoured, the shot is being outvoted rather than under-textured — a bright or delicate bean loses most of its character under five or six parts milk. The beans that hold up are ranked on best coffee beans for lattes.