Jump to Recipe
There’s something quietly elegant about a custard that asks for almost nothing. Six ingredients. A steamer. Forty minutes.
Sangkaya is a Thai steamed custard traditionally served in a small hollowed-out pumpkin or young coconut shell. This version uses small ceramic cups or ramekins, which makes it practical for any home kitchen.
The texture is the whole point here. Not bouncy like jello, not heavy like a baked flan. It’s barely set, with a soft trembling center and a pale golden top — closer in spirit to a ginger coconut custard than anything dense or cloying.
I first had this at a market in Chiang Mai, spooned over sticky rice from a banana leaf. You don’t need the sticky rice to enjoy it, but it does complete the picture.

Why You’ll Love This Recipe
- Only 6 ingredients, no baking equipment needed
- Silky custard sets perfectly in a steamer every time
- Palm sugar gives a warm caramel flavor white sugar lacks
- Make ahead and refrigerate up to 3 days
Ingredient Notes
- coconut milk: Use full-fat canned coconut milk, not the carton kind. Shake the can well before opening to recombine the cream and liquid.
- palm sugar: Sold in Thai or Asian grocery stores as round discs or soft paste. Brown sugar works as a substitute but the flavor is slightly less complex.
- eggs: Large eggs at room temperature incorporate more smoothly. Four whole eggs give the custard enough structure to hold its shape when spooned.
- pandan leaves: Fresh or frozen pandan leaves add a faint vanilla-like aroma. If you can’t find them, a small drop of pandan extract does the job. Skip entirely if unavailable.
- fish sauce: Just a small amount balances the sweetness and adds depth. You won’t taste it as fish sauce. Soy sauce works if you need a pescatarian-free swap.
- jasmine essence or flower water: Optional, but a few drops of jasmine extract is traditional in some Thai regions. Leave it out if you prefer a plainer custard.

Thai Coconut Custard Cups (Sangkaya)
Ingredients
Method
- Combine the coconut milk, palm sugar, and pandan leaves in a medium saucepan over low heat. Stir until the sugar is fully dissolved, about 4 to 5 minutes. Do not let it boil.
- Remove the pandan leaves and let the coconut mixture cool for 10 minutes until it is just warm to the touch, not hot.
- Crack the eggs into a mixing bowl and whisk gently until the yolks and whites are combined. Avoid whisking too vigorously or you'll create foam.
- Pour the warm coconut mixture slowly into the eggs while stirring constantly. Add the fish sauce and jasmine essence if using.
- Strain the entire mixture through a fine-mesh sieve into a pouring jug. Strain a second time if you see any egg strands remaining.
- Let the mixture rest for 2 minutes to allow surface bubbles to settle.
- Set up your steamer with water and bring it to a gentle simmer over medium-low heat. Wrap the inside of the lid with a clean kitchen cloth to catch condensation.
- Divide the custard mixture evenly among 6 small ramekins or heatproof cups, filling each about three-quarters full.
- Place the cups in the steamer in a single layer. Cover and steam for 20 to 25 minutes, until the edges are set and only the very center wobbles slightly when nudged.
- Carefully remove the cups from the steamer and set on a wire rack. Leave uncovered for 30 minutes to cool, then refrigerate or serve at room temperature.
Notes

Tips for Success
- Strain the custard mixture through a fine-mesh sieve to remove any egg strands and get a smooth texture.
- Steam over medium-low heat, not a rolling boil, to prevent air bubbles forming in the custard surface.
- Cover the steamer lid with a clean cloth to catch condensation drips that would pit the custard surface.
- Test doneness by gently nudging a cup – the edges should be set and only the very center should tremble.
- Chill custard cups uncovered for 30 minutes before covering to avoid condensation pooling on the surface.
Variations
- Steam the custard directly inside a small hollowed kabocha pumpkin for the traditional Thai presentation.
- Stir 2 tablespoons of black sesame paste into the mixture before steaming for a nutty, dark custard.
- Serve each cup with a spoonful of warm sticky rice and a drizzle of thick coconut cream on top.
Storage and Reheating
Store custard cups covered with plastic wrap in the refrigerator for up to 3 days. Press the wrap directly against the surface to prevent a skin from forming.
Serve cold or at room temperature. These don’t reheat well in a microwave as the eggs can tighten and turn rubbery. If you want them slightly warm, set the cups in a shallow pan of hot water for 10 minutes.
These don’t freeze well. The custard splits and the texture becomes grainy once thawed.
Serving Suggestions
The classic Thai pairing is sticky rice served alongside or underneath the custard. The rice soaks up the coconut flavor and adds a chewy contrast to the soft custard.
For a simpler presentation, top each cup with a thin pour of coconut cream and a few strips of fresh pandan leaf. A light dusting of toasted coconut flakes adds texture.
These cups also work well as part of a larger Thai dessert spread next to mango sticky rice or caramelized banana fritters.

FAQ
Why did my Thai coconut custard come out with lots of bubbles on top?
Bubbles usually mean the steam heat was too high. Keep it at a gentle medium-low and wrap the lid in a cloth to stop drips. You can also strain the mixture twice and let it rest 5 minutes before pouring into cups.
Can I use brown sugar instead of palm sugar in sangkaya?
Yes, dark brown sugar is the closest substitute – it has some molasses notes that mimic palm sugar’s earthiness. Light brown sugar works too but the custard will taste a little flatter.
Can I make Thai coconut custard cups the night before a dinner party?
They’re actually better made a day ahead. The custard firms up slightly overnight and the pandan flavor deepens. Just cover them once fully cooled and refrigerate.
What’s the difference between sangkaya and Vietnamese banh flan?
Sangkaya uses coconut milk as the base and gets its sweetness from palm sugar, giving it a distinctly tropical flavor. Banh flan is a caramel-topped baked custard with caramel base made with condensed milk, much closer to a French creme caramel.
Is Thai coconut custard gluten-free?
Yes, this recipe contains no wheat or flour. Just check your fish sauce label since some brands add small amounts of wheat – Tiparos and Megachef are reliably gluten-free options.
How do I know when the steamed custard is done?
Nudge one cup gently – the outer ring should be fully set with no liquid sloshing, and only the very center should have a slight wobble. This usually takes 20 to 25 minutes depending on cup size.

