These colorful, chewy rice flour balls swimming in warm, fragrant coconut milk are a beloved Thai street dessert. Sweetened with palm sugar and perfumed with pandan, every spoonful is a comforting balance of silky and springy textures. Served warm, this humble bowl is the perfect ending to a spicy meal.
Prep Time25 mins
Cook Time15 mins
Total Time40 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 430 kcalCalories
- 22 gFat
- 18 gSaturated Fat
- 55 gCarbs
- 2 gFiber
- 28 gSugar
- 5 gProtein
- 220 mgSodium
- 310 mgPotassium
- 40 mgCalcium
- 1.8 mgIron
- 2 mgVitamin C
- 160 mcgVitamin A
Ingredients
For the green pandan rice balls
- 1/2 cup glutinous rice flour
- 3 fresh pandan leaves blended with 3 tbsp water and strained
- 1 tbsp granulated sugar
- Pinch of salt
For the orange sweet potato rice balls
- 1/2 cup glutinous rice flour
- 3 tbsp mashed cooked orange-flesh sweet potato
- 1 tbsp granulated sugar
- Pinch of salt
For the white rice balls
- 1/2 cup glutinous rice flour
- 3 tbsp warm water
- 1 tsp granulated sugar
- Pinch of salt
For the coconut milk broth
- 2 cups full-fat coconut milk
- 1/2 cup water
- 1/2 cup chopped palm sugar
- 2 tbsp granulated sugar
- 1/4 tsp fine sea salt
- 1 pandan leaf, knotted
For serving (optional)
- 2 salted duck egg yolks, crumbled
- 1 tbsp toasted white sesame seeds
- 1 tbsp crispy fried shallots
Directions
- Make the pandan juice by blending 3 pandan leaves with 3 tablespoons of water until bright green, then strain through a fine sieve. Prepare three separate small bowls for the three doughs.
- In bowl 1, combine 1/2 cup glutinous rice flour, pandan juice, sugar, and salt; knead until a soft, pliable, non-sticky dough forms. In bowl 2, mix flour with mashed sweet potato, sugar, and salt to form an orange dough. In bowl 3, mix flour, warm water, sugar, and salt into a smooth white dough. Cover each bowl with a damp towel.
- Pinch off small pieces of dough and roll between lightly damp palms into uniform 1/2-inch balls. Arrange the colored balls on a parchment-lined tray, keeping colors separate so the dyeing water does not bleed between batches.
- Bring a large pot of water to a rolling boil. Drop one color of rice balls into the water and cook for 2 to 3 minutes, until they float to the surface and feel springy when poked. Lift out with a slotted spoon and transfer to a bowl of cool water. Repeat with remaining dough colors.
- While the balls cook, make the coconut broth: combine coconut milk, water, palm sugar, granulated sugar, salt, and the knotted pandan leaf in a heavy saucepan. Heat over medium-low, stirring gently, until the sugars fully dissolve. Do not let it boil or the coconut milk may split.
- Drain the cooked rice balls and gently add them to the warm coconut broth. Simmer together for 2 minutes so the balls absorb a hint of sweetness, then remove from the heat and discard the pandan leaf.
- Ladle the rice balls and coconut broth into four small bowls. Top each serving with crumbled salted egg yolk, a sprinkle of toasted sesame seeds, and crispy shallots if using. Serve warm and enjoy with a small spoon.
- Store any leftover rice balls and broth separately in the refrigerator for up to 2 days; reheat the broth gently and add the rice balls just until warmed through.
Cook’s Notes
- Always keep your hands lightly damp when rolling the rice balls; the dough sticks very quickly to dry skin.
- Use real pandan leaves for the most authentic aroma and color. Pandan extract can substitute in a pinch but the flavor will be less complex.
- Never boil the coconut milk hard; keep the heat gentle and stir occasionally to prevent curdling or splitting.
- For a more traditional touch, look for Thai-style salted duck egg yolks (the orange-cured variety) which add a savory contrast to the sweet broth.
- The sweet potato balls can be replaced with pumpkin for a softer, slightly sweeter orange variety.










