Back to blog Coffee Perspectives

Best Dairy-Free Condensed Milk for Vietnamese Iced Coffee

Team of DF
March 23, 2026
No comments

The first time I tried swapping condensed milk in cà phê sữa đá, I used a sweetened oat milk reduction I’d made by simmering Oatly Barista down by half. Poured it over ice, added the Phin drip, took one sip, and immediately understood why the Vietnamese coffee shops near my apartment don’t bother advertising a dairy-free option. It tasted like sweetened porridge water with a coffee problem.

That was about 18 months ago. Since then I’ve run four serious candidates through what I’d call a controlled enough process to actually trust the results — same Trung Nguyen Creative 1 Robusta blend, same Phin filter, same 25g coffee to 120ml water ratio at 93°C, same ice-to-glass ratio, same everything. The only variable changes each time. And I’ve made some genuinely annoying discoveries along the way.

Vietnamese iced coffee being prepared with a Phin filter


Why This Is Actually Hard to Get Right

Vietnamese iced coffee isn’t just sweet coffee on ice. The condensed milk isn’t a background sweetener — it’s load-bearing. It does three things simultaneously: it sweetens, it creates that specific thick mouthfeel that coats your tongue before the coffee bitterness cuts through, and it tempers the Robusta’s aggressive edge. The fat content in full-fat condensed milk sits somewhere around 8-9%, and that fat is doing real structural work. When you pull it out, you don’t just lose sweetness. You lose the whole textural architecture.

Every dairy-free substitute I tested failed on at least one of those three fronts before I found what actually works.

Infographic showing the three functional roles of condensed milk in Vietnamese iced coffee


Candidate 1: Nature’s Charm Coconut Condensed Milk

This was the obvious first choice and the one most food bloggers have already blessed, so I went in skeptical. It’s made from coconut cream and sugar, with a consistency that’s genuinely close to dairy condensed milk — thicker than most alternatives, pourable but viscous.

Ratio I used: 3 tablespoons to one 120ml Phin drip, which is what I’d use with standard Longevity Brand dairy condensed milk.

The sweetness profile is almost right. Where it diverges is in the flavor itself — there’s a coconut mid-note that’s subtle when you’re drinking it on a hot day but becomes noticeable once the coffee cools down even slightly. In a glass that’s sitting on your desk for 10 minutes while you work, that coconut flavor starts competing with the Robusta’s earthiness in a way that feels off. At 85°F ambient temperature in July in my apartment? Fine. In an air-conditioned office? The coconut presence becomes more assertive as your palate adjusts.

The mouthfeel is the closest of anything I tested. 8/10 on texture, 7/10 on flavor, 6/10 on temperature stability.

One specific thing that caught me off guard: the concentrated coconut flavor in Nature’s Charm alters the profile of other drinks. For straight cà phê sữa đá it blends in okay, but I made a batch of Vietnamese egg coffee (cà phê trứng) using it as the base, and the strong coconut note turned the whole thing into something that tasted like a coconut custard dessert instead of coffee. Had to scrap the batch.


Candidate 2: Sweetened Oat Milk Reduction (DIY)

I wanted to test this because it shows up constantly in dairy-free coffee content and because I had made the version that failed 18 months prior. Wanted to know if I’d just executed it wrong.

The method I followed this time: 500ml Oatly Barista Edition reduced over medium-low heat to 150ml (a 3.3:1 reduction ratio), with 120g cane sugar stirred in during the last 10 minutes. That’s approximately the same Brix level as commercial condensed milk (which runs around 65-70° Brix — I checked with a refractometer I use for fermentation projects).

The result is still not good. Here’s the actual problem, which I don’t see discussed anywhere: oat milk proteins behave completely differently from dairy proteins under heat reduction. As you concentrate oat milk, you’re also concentrating the beta-glucan content, and what you end up with is something that has a slightly gummy, starchy texture rather than the creamy fat-based richness of dairy condensed milk. When it’s warm, the difference is masked. When it hits the ice, the cold causes the texture to go slightly gluey in a way that’s hard to describe but immediately perceptible if you’ve had the real thing.

I ran this test three times across different oat milk brands — Oatly Barista, Minor Figures, and a store-brand version — and the gluey cold-texture issue showed up every single time. Minor Figures was worst, likely due to how its specific formulation reacts to heat. Oatly was most tolerable but still wrong.

I also burned a batch by walking away for 12 minutes when I should have watched it for 8. The caramelized version was interesting but definitely not what we’re going for here.

Verdict: More effort than any other method, worst cold-texture result. Stop recommending this one.

Side-by-side comparison infographic of four dairy-free condensed milk substitutes scored on three metrics


Candidate 3: Cashew Cream Condensed Milk

Made from soaked raw cashews, water, and sugar, blended until smooth then reduced slightly. I used a 1:1 cashew-to-water ratio by weight (200g each), added 140g of sugar, and blended for four minutes in a high-speed blender before straining through a fine-mesh sieve.

The fat content is reasonable — raw cashews are about 44% fat by weight, so a thick cashew cream can actually hit a fat percentage that’s in the ballpark of dairy condensed milk when concentrated enough. This is probably why the mouthfeel test was the biggest surprise: it was genuinely excellent. Closest to dairy in terms of that coating quality.

The problem is flavor. Cashews have a very specific muted nuttiness that doesn’t disappear when sweetened and concentrated. In coffee drinks where you’re adding heavy flavoring — cardamom, spices, strong espresso — cashew cream fades into the background beautifully. In Vietnamese iced coffee, where the whole point is a clean back-and-forth between the sweetened dairy richness and the Robusta bitterness, the cashew note is too present. It’s not overwhelming, but it occupies the exact frequency in your palate where the coffee and cream interplay should be happening.

Also: shelf life is terrible. I had a batch go off in the fridge in four days. Dairy condensed milk I’ve had open for two weeks without issue. For weekly prep this is a real logistics problem.


Candidate 4: Aroy-D Coconut Milk Sweetened Reduction (Not Condensed Milk — Different Product)

This one I almost didn’t test because it felt too similar to Candidate 1. But there’s a meaningful difference: Aroy-D’s coconut milk (the plain, unsweetened version in the Tetra Pak, not the can) starts with a significantly higher fat content than coconut cream-based condensed milk products — around 17-19% fat versus the 8-10% in most coconut condensed milk products.

I made a home-reduced version: 400ml Aroy-D reduced to 130ml over low heat, with 90g of sugar (less than the DIY oat version because coconut fat carries sweetness perception differently). Reduction took about 35 minutes at a consistent medium-low heat, stirring every few minutes.

The resulting texture was noticeably thicker than any other option I tested — legitimately close to spooning out regular condensed milk from the can. The coconut flavor is present but more restrained than in packaged coconut condensed milk, possibly because there are no added flavorings in plain Aroy-D.

The actually useful thing I found: if you add a tiny amount of coconut oil — and I mean 1/4 teaspoon per 130ml batch — the cold-texture issue that plagues reduced coconut products when they hit ice almost disappears. I stumbled on this by accident when I was testing whether the reduction process was driving off too much fat, and added some back. The cold emulsion stability improved noticeably. The drink stayed homogeneous instead of showing slight separation after three minutes in the glass.

This is what I’ve been using since March. It’s more work than opening a can, but it produces a result I’d serve to someone who knew what real cà phê sữa đá tastes like without feeling I was handing them a consolation prize.

Aroy-D coconut milk being reduced in a saucepan on a stovetop


The Non-Obvious Conclusion Nobody Wants to Hear

The most popular recommendation in every dairy-free Vietnamese coffee article is the packaged coconut condensed milk (Nature’s Charm, Aroy-D brand condensed, etc.) — and at room temperature or in a hot version, that recommendation is correct. It’s convenient, consistent, and close enough that most people won’t notice.

But if you’re drinking your coffee cold and you actually let it sit for more than five minutes the way most people do at a desk or in a café setting, packaged coconut condensed milk starts to taste increasingly coconut-forward as the temperature drops. I timed this: at 68°F ambient, the coconut note that was background at first becomes primary around the 7-8 minute mark as the ice does its job and brings the drink temperature down to about 38-40°F.

The DIY high-fat coconut reduction with a small fat addition is more work but holds up across the full drink temperature range. If you’re making one glass to drink immediately, Nature’s Charm wins on convenience. If you’re at a café scenario where drinks sit, or you’re a slow drinker, the DIY version is worth the extra 40 minutes.


The Actual Numbers

For anyone who wants to replicate what I’m using now:

  • Aroy-D Coconut Milk (Tetra Pak, unsweetened): 400ml
  • Reduction target: 130ml (measured, not eyeballed — it matters)
  • Sugar: 90g cane sugar, added in the last 10 minutes of reduction
  • Coconut oil addition: 1/4 tsp, stirred in off-heat while still warm
  • Storage: Sealed jar, refrigerator, use within 10 days
  • Serving ratio: 2.5 tablespoons per 120ml Phin drip (slightly less than the 3 tablespoons I use with dairy condensed milk, because this version carries sweetness more efficiently)

Heat tolerance: fine up to 90°C without breaking. I’ve accidentally added it before the Phin finished dripping and the hot coffee hit it directly — no curdling, which is more than I can say for the cashew version, which split completely the one time I did that.

Recipe card infographic for DIY high-fat coconut condensed milk reduction


One Thing I’m Still Not Happy About

None of these four options handle the caramelized condensed milk applications well. Vietnamese bánh mì with condensed milk drizzle, or the thicker applications where you’re using it at room temperature as a spread or topping — the textural gap between any of these alternatives and dairy condensed milk becomes obvious immediately. The high-fat coconut reduction comes closest but still breaks down differently when you spread it on warm bread.

If someone’s solved that problem with a dairy-free approach that doesn’t involve a product I haven’t tested yet, I’d genuinely like to know. The applications where temperature is static and the flavor needs to carry without ice masking anything are still a gap I don’t have a clean answer for.

Written By

Team of DF

A veteran wordsmith and AI experimentalist. I leverage AI as an "exoskeleton" to deconstruct complex data through the lens of lived experience. No clichés, no empty titles—just evidence-based insights born at the intersection of rigorous research and personal practice.

Read full bio

Leave a Comment

We use cookies to enhance your reading experience and analyze site traffic. Please choose your preference.