Bua Loy (Glutinous Rice Balls in Coconut Milk)
This is an authentic Thai bua loy recipe for a deliciously sweet dessert with glutinous rice balls in coconut milk. Naturally colored with pandan, taro, and sweet potato.

- Prep time
- --
- Cook time
- 1 hr
- Yield
- 6 servings
- Difficulty
- HARD
Ingredients
Quantities are shown as originally provided.
- just over 1/4 cup glutinous rice flour
- 1 tbsp tapioca flour
- 3 oz taro
- 3 tbsp cold water
- just over 1/4 cup glutinous rice flour
- 1 tbsp tapioca flour
- 3 oz purple potatoes
- 3 tbsp cold water
- just over 1/4 cup glutinous rice flour
- 1 tbsp tapioca flour
- 3 oz sweet potatoes
- 3 tbsp cold water
- just over 1/4 cup glutinous rice flour
- 1/4 cup tapioca flour
- about 6 pandan leaves (chopped)
- just under 1 cup water
- just over 2 cups coconut milk
- 1/2 cup white sugar
- just under 1 cup water
- 1 tsp salt
- 2 pandan leaves (chopped)
- egg (optional, to taste)
Instructions
- 1
Wash and slice taro, sweet potatoes, and/or purple potatoes into small, even pieces.
- 2
Steam until fork-tender.
- 3
Blend pandan leaves with water, then strain to extract pandan juice.
- 4
In a mixing bowl, mash the steamed taro (or other base).
- 5
Add glutinous rice flour and tapioca flour.
- 6
Mix by hand, then gradually add cold water (or pandan juice) until a soft, clay-like dough forms.
- 7
Repeat for each flavor or color, wrapping dough in plastic wrap to prevent drying.
- 8
Dust a tray with glutinous rice flour.
- 9
Roll dough into small balls and place on the tray.
- 10
Bring a pot of water to a boil. Add the balls in batches, gently stirring.
- 11
When they float, simmer 2–3 more minutes.
- 12
Scoop out and transfer to a bowl of room temperature water.
- 13
In a second pot, combine coconut milk, water, sugar, pandan leaves, and salt. Bring to a gentle boil.
- 14
Optional: Crack an egg into the pot and let it poach for 3–4 minutes (don’t stir).
- 15
Add the cooked rice balls to the coconut milk and serve warm.
- 16
If storing for later, keep rice balls and coconut milk separate.