Steamed Egg Pudding
My mother made dun daan when she wanted to give us a small kindness. She made it after a hard day. She made it when one of us was sick. She made it the afternoon before my grandmother came over and stayed for tea. The dish is small. It does not announce itself. But she made it carefully every time, because she said the careful was the whole dish.
Steamed egg pudding — dùn dàn (燉蛋) in Cantonese, literally "steamed egg" in the sweet form — is the heritage Cantonese dessert that lives in Hong Kong dessert houses and Singapore home kitchens. Reportedly the dish was already established in heritage Cantonese dessert-house menus by the early twentieth century, alongside the closely-related shuāng pí nǎi (双皮奶, "double-skin milk") of Macanese tradition. The dish reads as humble — three or four ingredients, ten minutes of active work — but the technique is what separates a careless dun daan from a careful one. The technique is the dish.
The dish has FOUR heritage technical-discipline rules. Each one is non-negotiable, and each one prevents a specific failure-mode.
Rule one — gentle whisk only. Aggressive whisking creates foam that surfaces as bubbles in the steamed pudding. Heritage practice whisks the eggs gently with chopsticks or a small fork until just-combined, NOT until-frothy. The failure-mode prevented: bubble-pocked surface that breaks the heritage silky-skin signature.
Rule two — triple-strain through fine sieve. Heritage practice strains the egg-milk mixture through a fine wire-mesh sieve THREE times — once after combining, once into the serving-jug, once into each individual ramekin. Each strain removes a finer layer of foam, chalazae, and impurities. The failure-mode prevented: graininess in the cooked custard, visible egg-strand clouds suspended in the surface.
Rule three — foil-cover each ramekin individually. Steam condenses on the steamer lid then drips downward as water-droplets onto the custard surfaces. Heritage practice covers EACH ramekin individually with a tightly-crimped foil square so the condensation runs off the foil rim instead of the custard. The failure-mode prevented: pock-marked custard surface that reveals careless steamer-discipline.
Rule four — medium heat, then steam-and-rest. Heritage practice steams over MEDIUM heat (NOT high) for 10–12 minutes, then turns the heat OFF and leaves the ramekins in the closed steamer for another 25–30 minutes of residual-heat slow-cook. The failure-mode prevented: rubbery overcooked pudding (high-heat) OR uncooked-liquid-centre (insufficient time); the steam-and-rest gives heat time to penetrate the centre without cooking the surface past silky.
Two final notes. The liquid choice carries register. Water-based dun daan is the older heritage form — austere, scholar-Cantonese. Milk-based dun daan is the modern Hong Kong dessert-house form — creamier, more accessible. My mother used both: water for the family afternoon, milk for guests. The recipe below gives the milk-based form as primary.
The dish is small on purpose. A heritage Cantonese dun daan is served in a 3-inch ramekin, NOT a large bowl. Reportedly heritage Hong Kong dessert houses calibrate the ramekin size to the time it takes to eat slowly with a small porcelain spoon — about 4–5 minutes for a careful diner. The small bowl is not stinginess; it is the dish's pace.
This is the dish that occupies the middle of the chapter because it occupied the middle of my mother's afternoon. The quiet between.
🛒Ingredients
Four ingredients. Four rules. The careful is the whole dish.
For the Heritage Milk-Based Dun Daan primary form
| Whole milk | 250 ml (1 cup) | Fresh whole milk. Substitutions: evaporated milk for richer Hong Kong-dessert-shop register; coconut milk for the heritage 椰皇 variation. Avoid skim or low-fat — they curdle at steam temperature. |
| Eggs | 3 large, whole | Fresh eggs only. Older eggs whisk thinner. Heritage practice uses room-temperature eggs (warm gently in shells in a bowl of warm water for 5 minutes if from refrigerator). |
| Rock sugar (bīng táng) | 50–60 g, to taste | Heritage Cantonese sweetener. Substitute: white granulated sugar (40–50 g); or sweetened condensed milk (40 g, replacing both rock sugar and 30 ml of milk). |
| Vanilla bean or extract | ¼ pod, split (or 1 tsp extract) | Optional — heritage Hong Kong dessert-shop variation; not strictly Cantonese-traditional but widely accepted. |
| Salt | 1 small pinch | Heritage Cantonese-grandmother technique that sharpens the egg-and-milk perception. |
For the Equipment non-negotiable
| Heritage round porcelain ramekins | 3 (3-inch diameter, 1.5-inch tall) | Pale-cream with floral rim if available; any heat-proof ceramic of similar size will work. |
| Fine wire-mesh sieve | 1 | Chinois or fine-mesh strainer. |
| Cooking foil squares | 3 | Each cut to ramekin-size + 2 cm overhang for crimping. Or food-safe cling-wrap. |
| Wide-bottomed bamboo steamer | 1 | Heritage form; or any large steamer with a tight-fitting lid. |
🌶️Shifu's Lift
choose one path- Old-school path: Water in place of milk (250 ml filtered water, dissolve rock sugar fully) — heritage older Cantonese form, austere, egg-flavour-forward. Pair with a small drizzle of pure pandan extract for soft-floral lift.
- Modern hawker path: Replace 30 ml of milk with 30 ml sweetened condensed milk; reduce rock sugar to 40 g — heritage Hong Kong modern dessert-shop form, slightly caramel-toned.
- Heritage purist: A small drizzle of dried-osmanthus-honey (guì huā mì) over the just-set surface at the table — about ¼ tsp per ramekin. My mother did this when serving older relatives.
👨🍳Method
Four stages. Combine, strain, foil-cover, steam-and-rest. The four rules are the dish.
Mise-en-Place and Egg-Milk Combine the gentle-whisk discipline
Bring the eggs to room temperature if from refrigerator. Crack into a medium heritage glass mixing-bowl. Whisk gently with a small fork or chopsticks until just combined — about 30 seconds, NO MORE. Eggs should read as uniformly pale-yellow with no streaks. Stop the moment foam begins to form.
In a small heritage saucepan, gently warm the milk over LOW heat. Add the rock sugar (50 g) and the small pinch of salt. Stir until the rock sugar dissolves and the milk is warm to the touch but NOT hot (~60°C / 140°F — comfortable on the inside of your wrist, NOT scalding). The milk must NOT boil — boiling milk added to room-temperature eggs cooks them on contact and produces a curdled set.
Optional: split the vanilla pod, scrape the seeds, add seeds AND pod to the warm milk; let steep 2 minutes; remove pod.
Pour the warm milk slowly into the gently-whisked eggs, stirring continuously with the fork (NOT whisking — stirring) to combine evenly.
Triple-Strain into Ramekins the smooth-set discipline
Place the fine wire-mesh sieve over a clean heritage glass mixing-jug. Pour the egg-milk mixture through the sieve — the first strain. Foam, chalazae, and any unmixed-egg-strand will catch in the mesh; discard.
Lift the sieve briefly. Pour the strained mixture from the jug back through the sieve into a second clean bowl — the second strain.
Lift the sieve again. Pour the twice-strained mixture from the second bowl directly through the sieve into each of the three ramekins — the third and final strain, into the serving-vessels themselves.
Use a small spoon to skim any final foam-bubbles from the surface of each ramekin before covering. The surface should read as glossy-smooth, NO bubbles, NO foam.
Foil-Cover Each Ramekin the pock-mark-prevention discipline
Take a square of cooking foil for each ramekin. Press the foil firmly over the rim of each ramekin, crimping the foil edges down around the outside of the rim to make a tight seal. The foil should sit flat against the surface (NOT puffed up — that traps steam and causes a doming issue).
Steam and Set the cartouche moment — STEAM & SET
Bring the steamer water to a gentle boil (NOT a rolling boil — steam should rise gently from the bamboo rim).
Reduce heat to MEDIUM. Place the foil-covered ramekins in the steamer with at least 2 cm space between them. Cover with the steamer lid. Steam 10 minutes.
Turn the heat OFF. Do NOT lift the lid. Leave the ramekins in the closed steamer for 25–30 minutes of residual-heat slow-cook. The centre completes its set during this rest.
After the rest, remove the ramekins. Carefully peel back the foil. The surface should read as silky-smooth, faintly silvery-sheened, fully-set with a faint tremble at the centre when the ramekin is gently tilted.
Apply your Shifu's Lift choice at the table: a drizzle of dried-osmanthus-honey, a few drops of pandan extract, or simply nothing — heritage purist serves the dun daan unadorned.
🎯The Three Tips
Heritage. Master's. Mistake.
🏛 Heritage Note
The Surface Is the Signature
The heritage form holds that the surface of a careful dun daan must read as silky-smooth, pock-mark-free, bubble-free, with a faint silvery sheen that catches the light.
The heritage diner's first action: inspect the surface before tasting. A pock-marked surface signals careless foil-cover. A bubble-pocked surface signals careless whisk. A streaky surface signals careless strain. A rubbery-cracked surface signals careless heat.
For young hawkers thinking about a heritage Cantonese dessert-house: dun daan is a portfolio item, not a feature. No customer comes to a dessert house for dun daan alone. What dun daan does is demonstrate the kitchen's discipline. A careful dun daan signals to the customer that the kitchen knows how to cook everything else carefully.
👨🍳 Master's Tip
The Wrist Test
Most heritage Cantonese-grandmother kitchens did not have thermometers. The discipline of warming the milk to "warm-but-not-hot" (~60°C) was passed down as the wrist test: dip a clean fingertip into the warming milk; if it feels comfortably warm on the inside of your wrist (the same test for baby-bottle temperature), the milk is correct. If it feels hot — even slightly — pull off heat for 30 seconds and test again.
The wrist-test calibration matters more than the thermometer because the milk continues to warm slightly between heat-off and pour-into-eggs. A thermometer at 60°C means a 64°C pour, which is enough to begin coagulating the egg whites on contact. The wrist-test naturally builds in the heat-buffer.
Reportedly my mother could tell whether the milk was correct by sound alone — she would tilt the saucepan and listen for the soft hiss that warm milk makes against ceramic, distinct from the louder hiss of hot. I cannot teach you the sound. I can only teach you the wrist.
⚠ Common Mistake
Three Failure Modes
- Boiling the milk before adding it to the eggs. Milk at boiling temperature (100°C) or even near-boil (90°C+) partially-cooks the eggs on contact, producing visible egg-strand-clouds in the strained mixture and a streaky-set in the steamed pudding. Heritage rule: warm-to-the-wrist, NOT hot.
- Lifting the steamer lid mid-cook. Heritage practice forbids opening the lid except at the 10-minute inspection-window. Every additional lid-lift drops the steamer temperature by 20°C and adds 2 minutes to the total cook time, AND the temperature-shock can crack the just-forming custard surface.
- Rushing the residual-rest stage. Skipping the 25-minute residual-rest leaves the centre uncooked-liquid even when the surface looks set. The residual-rest is NOT optional; it is the technique that makes the dish work.
📈 Scaling for Hawker Service
For a heritage Cantonese tong sui shop or dessert-house doing 60–150 servings a day
Heritage Cantonese dessert-houses typically carry dun daan as one of 6–10 tong sui menu items. Unlike standalone-dish stalls, dun daan is rarely the single feature — it is a portfolio dish, alongside black sesame paste, peanut paste, mango pomelo sago, snow fungus tong sui. Mei Heong Yuen Dessert (founded 1947) and similar heritage Cantonese tong sui operators carry dun daan as steady-volume portfolio with daily counts in the 80–120 range.
- Daily prep cycle (80-bowl volume): 6–7am — crack and gently whisk eggs in single batch, strain twice. 7–8am — warm milk in single large saucepan (~7 L), dissolve rock sugar, cool to wrist-test. 8–8:30am — combine, third-strain into ramekins, foil-cover. 8:30–9:30am — first steam-batch (multi-tier bamboo steamer holds 18–24 ramekins), rest in steamer. Service — hold warm in 60°C cabinet, replenish every 2 hours.
- Cost (Singapore 2026): ~SGD 0.70 per ramekin (eggs 0.30 + milk 0.20 + aromatics 0.10 + foil 0.05 + ramekin 0.05). Sells SGD 3.00–5.50. Margin: 75–85% — among the strongest tong sui margins.
- For home cooks: A 6-ramekin batch keeps refrigerated covered for 2 days; 1 day for warm-version-reheated (steam 5 minutes from cold). Do NOT freeze.
My mother did not believe in big desserts. She said the small bowl was honest. The big bowl is showing off. The small bowl is for someone who knows what carefulness costs and pays it anyway. I have been trying to make her dun daan for forty years. Mine still trembles, but not the way hers did.