
Ondeh Ondeh
“Peranakan glutinous-rice balls — pandan-colored sweet rice-flour balls filled with melted gula melaka (palm sugar) that bursts in the mouth, rolled in freshly-grated coconut. Bite-sized, intensely-sweet, with pandan's herbal floral aroma; almost identical to Indonesian klepon but with the Peranakan attention to gula melaka quality and pandan freshness. Singapore's most-iconic kueh (Nyonya sweet snack).”
Where it comes from
Ondeh Ondeh (sometimes 'onde onde') is the Peranakan version of the broader Southeast Asian glutinous-rice-ball family found across Malaysia, Indonesia (klepon), and Singapore. The Singapore Peranakan-Nyonya version is distinguished by: (1) deep-green pandan color (Singapore Peranakan use pandan extract more aggressively), (2) gula melaka of specific quality (canonical is from Melaka or West Sumatra), (3) freshly-grated coconut from a young coconut. The dish is served at Nyonya tea time, Singapore wedding receptions, and at every Singapore hawker centre's kueh stall. Mass-market versions (Bengawan Solo bakery) are slightly less floral; home-made versions emphasize fresh pandan extraction from leaves rather than essence.
On the plate
Ondeh ondeh is a controlled palm-sugar explosion. The first bite: the cool, slightly-springy pandan-rice exterior gives way unexpectedly, and warm liquid palm sugar — caramel-deep, smoky-molasses-sweet — gushes into your mouth. The salty steamed coconut on the outside immediately tempers the sweetness. You taste pandan (grassy, vanilla-adjacent) and gula melaka (smoky-caramel) simultaneously, with coconut as the textural anchor. Three ondeh-ondeh is the right portion — more becomes cloying. Eat at Nyonya tea time, with hot pulled tea (teh tarik) or strong kopi.
How it works
Identical mechanism to Indonesian klepon: palm sugar melts at 80-90°C (below boiling water), so the ball cooks around the still-solid sugar; when it's enclosed in cooked dough, the sugar continues to melt and creates a viscous syrup ready to burst. Steam pressure builds slightly inside the ball, ensuring the canonical 'gush' on biting. The Peranakan-specific touches are: (1) more pandan for deeper color and flavor, (2) gula melaka of specific origin (Melaka or West Sumatra is the canonical source with characteristic smoky-coconut notes from traditional production over wood fire), (3) hand-grated coconut from a young coconut (canned coconut is not the same).
Variations
Peranakan Singapore canonical (deep green, gula melaka filling); Malaysian onde-onde (essentially identical); Indonesian klepon (similar but slightly different); modern Bengawan Solo Singapore (commercial, slightly less floral); modern variations include chocolate-filled, salted-egg-yolk-filled (modern hybrid), or matcha-flavored; the dish is naturally gluten-free if using pure glutinous rice flour; vegan-friendly throughout; freshly-made versions are markedly better than refrigerated.
On the Palate
Ingredients
Serves 4How it's made
9 steps · Show ↓30 min active · 15 min waiting
How it's made
9 steps · Show ↓- 14 min
Make pandan extract: in a blender combine 8 pandan leaves (chopped) + 200ml water. Blend; strain through fine sieve. You should have ~150ml deep-green pandan juice.
- 23 min
Prep gula melaka: chop 120g gula melaka (palm sugar) into 1cm cubes — Indonesian or Malaysian variety is ideal. Set aside. The pieces should be firm enough to handle but soft enough to melt easily.
- 310 min
Steam coconut coating: in a steamer, steam 100g freshly-grated coconut + 1/4 tsp salt + 1 pandan leaf for 8 min. This pasteurizes the coconut and gently flavors it. Cool. (If using frozen grated coconut, thaw and steam.)
- 46 min
Make dough: in a bowl combine 250g glutinous rice flour + 1 tbsp tapioca flour + 1/4 tsp salt. Gradually add the pandan juice + 1 drop pandan extract (for deeper green if needed); knead 5 min into a smooth pliable dough. Let rest 15 min covered.
- 514 min
Form ondeh ondeh: dust hands with flour. Divide dough into 24 portions (~12g each). Roll each into a ball; flatten in palm; place 1 gula melaka cube in center; pinch edges to seal completely; roll into a ball again. The sugar must be COMPLETELY enclosed.
- 65 min
Boil water: bring 2L water to a vigorous boil in a wide pot. Add a pinch of salt.
- 75 min
Drop the balls into boiling water in batches of 8. They will sink. Cook 4-5 min until they float to the surface, then continue 30 sec more.
- 83 min
Remove with slotted spoon to drain briefly. While still warm + slightly damp, immediately roll each ball in the steamed grated coconut until fully coated.
- 91 min
Arrange on a plate lined with banana leaf (or simply on a serving plate). Serve at room temperature: best eaten within 4 hours of making (the dough hardens overnight). Eat as a 2-bite snack: bite once, let the warm gula melaka burst out, enjoy the contrast with salty coconut, then second bite to finish.






