The non-dairy milk upcharge is officially dead. Starbucks eliminated it in November 2024. Dunkin' followed in March 2025. Dutch Bros dropped theirs in January 2025. For the first time, you can order oat milk, almond milk, soy milk, or coconut milk at any major coffee chain without paying a cent extra.
That removes the only real barrier to switching. But which one should you actually choose? They taste different, froth differently, have wildly different nutritional profiles, and pair better with some drinks than others. This guide ranks all four, explains when each one shines, and tells you exactly which milk to order for every type of coffee drink.
The Rankings: Overall Best to Most Situational
The Complete Comparison Table
| Attribute | Oat | Soy | Almond | Coconut |
|---|---|---|---|---|
| Calories/cup | 120 | 80–100 | 30–50 | 45–60 |
| Protein/cup | 3g | 7g | 1g | ~0g |
| Carbs/cup | 16g | 4g | 1–2g | 1g |
| Fat/cup | 5g | 4g | 2.5g | 4.5g |
| Frothing | Excellent | Good | Poor | Very poor |
| Flavor impact | Mild, sweet | Neutral to beany | Distinctly nutty | Subtly tropical |
| Starbucks | ✓ | ✓ | ✓ | ✓ |
| Dunkin' | ✓ | ✗ | ✓ | ✗ |
| Dutch Bros | ✓ | ✗ | ✓ | ✓ |
The Best Milk for Every Drink Type
The "best" milk changes depending on what you're ordering. Here's the match guide:
| Drink | Best Milk | Why |
|---|---|---|
| Hot latte / cappuccino | Oat | Best frothing, creamiest texture, closest to dairy |
| Iced latte | Oat | Full body, doesn't separate, blends smoothly |
| Matcha latte | Oat or Soy | Both complement earthy matcha; soy adds protein |
| Chai tea latte | Oat | Natural sweetness enhances the spice blend |
| Cold brew (splash) | Oat | Rounds bitterness without diluting flavor |
| Flavored iced drinks | Almond | Light body lets syrups shine; nutty note adds depth |
| Refreshers / Pink Drink | Coconut | Tropical sweetness built for fruity bases |
| Protein-focused order | Soy | 7g protein, closest to dairy's 8g |
| Lowest calorie option | Almond | 30–50 cal/cup, minimal impact on drink calories |
Allergy and Dietary Notes
A few things that trip people up when ordering non-dairy at coffee shops:
Coconut is classified as a tree nut by the FDA. If you have a tree nut allergy, coconut milk may not be safe for you. It's a common misconception that coconut is always allergen-free — check with your allergist.
Starbucks sauces contain hidden dairy. The caramel drizzle, white chocolate mocha sauce, and pumpkin spice sauce all contain dairy. If you're vegan or dairy-free, these will compromise your order even if you've switched the milk. The mocha sauce is dairy-free. Most clear syrups (vanilla, caramel, hazelnut, cinnamon dolce) are also dairy-free. Whipped cream, obviously, contains dairy.
Cross-contamination is unavoidable at high-volume coffee shops. Steam wands, pitchers, and blenders handle dairy milk constantly. If you have a severe dairy allergy (not just intolerance or preference), mention it to your barista so they can take extra precautions, but understand that a fully dairy-free environment isn't possible in most café settings.
Soy contains phytoestrogens — this has been a concern for some people, though current research generally considers moderate soy intake safe for most adults. If you have a thyroid condition or hormone-sensitive health concern, consult your doctor about soy consumption.
The Upcharge Elimination Timeline
For context on how recent this change is — and why it matters:
| Chain | Upcharge Eliminated | Previous Extra Cost | Available Milks |
|---|---|---|---|
| Starbucks | November 2024 | ~$0.70–$0.90 | Oat, Almond, Soy, Coconut |
| Dutch Bros | January 2025 | ~$0.50–$0.70 | Oat, Almond, Coconut |
| Dunkin' | March 2025 | ~$0.60–$0.80 | Oat, Almond |
This was a long-requested change driven by consumer advocacy (including a significant campaign targeting Starbucks), the broader normalization of plant milk, and competitive pressure from independent shops that had already dropped surcharges. The practical impact: if you order a non-dairy latte every weekday, eliminating the $0.80 upcharge saves you roughly $200 per year.
The Best Non-Dairy Drink Orders at Each Chain
Putting it all together — here's a specific recommended order at each major chain that showcases non-dairy milk at its best:
Not sure which milk fits your taste? Sipory factors in your milk preference when recommending drinks — and adjusts for each chain's specific non-dairy options. Set it once, and every recommendation comes with the right milk already built into the order script. For more on ordering at each chain, see our guides for Starbucks, Dunkin', and Dutch Bros.
Frequently Asked Questions
What is the best non-dairy milk for coffee?
Oat milk is the best all-around non-dairy milk for coffee. It has a mild, naturally sweet flavor that complements rather than competes with espresso, froths better than any other plant milk, and creates the closest texture to dairy in lattes and cappuccinos. Barista-edition oat milk (like Oatly Barista) performs even better thanks to added oils that help it stretch and pour like whole milk.
Is non-dairy milk free at Starbucks now?
Yes. Since November 2024, all non-dairy milks at Starbucks (oat, almond, soy, and coconut) are free — no upcharge. Dunkin' followed in March 2025 (oat and almond only), and Dutch Bros eliminated their plant milk upcharge in January 2025. The $0.70–$0.90 surcharge that used to apply at all three chains is gone.
Which non-dairy milk has the most protein?
Soy milk leads with about 7g of protein per cup — closest to dairy's 8g. Oat milk has about 3g, almond milk has about 1g, and coconut milk has essentially 0g. If protein matters, soy is the clear choice among plant milks.
Which non-dairy milk froths the best?
Oat milk froths the best among plant milks, especially barista editions like Oatly Barista or Minor Figures, which contain added oils for better stretching and microfoam. Soy milk is a decent second for frothing. Almond milk froths poorly (thin, unstable foam), and coconut milk barely froths at all.