Bua Loy (บัวลอย) is a traditional Thai dessert made with small glutinous rice flour balls served in lightly sweet and salty coconut milk. Their soft, pleasantly chewy texture contrasts with the creamy sweetness of the coconut milk.
The rice balls can be left white or naturally coloured with taro, kabocha squash, pandan or other plant-based juices. Bua Loy is best eaten on the day it is made, either warm or at room temperature.

At the table with Portail Asie
Traditional Bua Loy
Make traditional Bua Loy, a Thai dessert of tender glutinous rice balls served in lightly sweet and salty coconut milk.
- Prep time
- 30 min
- Cooking time
- 15 min
- Total time
- 45 min
- Servings
- 6
- Difficulty
- Easy
- Spice level
- 0/5
- Cuisine
- Thailand
- Dish type
- Dessert
Last checked: September 23, 2026
About this recipe
Version: Traditional
Bua Loy is a classic Thai dessert made with small balls of glutinous rice flour served in sweet and lightly salted coconut milk. The balls can be naturally coloured with taro, kabocha squash, pandan or other plant-based ingredients.
Do not substitute: Do not replace glutinous rice flour with regular rice flour, as the texture would become crumbly instead of soft and chewy. Also avoid cooking the rice balls for too long in the coconut milk, as they will eventually become too soft.
Ingredients
Adjust servings to suit your needs.
For the rice balls
- 100 g Glutinous rice flour
- ½ cup Cooked and mashed taro or kabocha squashor pandan juice for another colour
- 60 to 120 ml Wateradd gradually depending on the moisture of the dough
For the sweet coconut milk
- 480 ml Coconut milkfull-fat, unsweetened
- 240 ml Water
- ¾ cup Palm sugarchopped, adjust to taste
- ¾ tsp Salt
- ½ Pandan leafoptional, tied in a knot
Preparation steps
Mix the glutinous rice flour with the mashed taro or kabocha squash until evenly combined.
Add the water very gradually while kneading until you have a soft, smooth dough that does not stick to your fingers. If it becomes too sticky, add a little more glutinous rice flour.
Flatten the dough into a rectangle slightly less than 1 cm thick, then cut it into strips and finally into small pieces about 1 cm in size.
Roll each piece between your fingers or palms to form small balls. Keep them covered so they do not dry out while you prepare the rest of the recipe.
Prepare the coconut milk mixture. Pour the coconut milk, water, palm sugar, salt and pandan leaf into a saucepan. Heat over medium heat, stirring until the sugar has completely dissolved, then remove from the heat and discard the pandan leaf.
Bring another saucepan of water to a vigorous boil. Prepare a large bowl of cold water alongside it.
Cook the rice balls in small batches in the boiling water. As soon as they float to the surface, remove them with a slotted spoon and immediately transfer them to the cold water.
Drain the rice balls thoroughly and add them to the coconut milk. Gently reheat until the first signs of a simmer so the balls absorb some of the coconut mixture, then immediately remove from the heat.
Serve Bua Loy warm or at room temperature. It is best eaten on the day it is made, while the rice balls remain tender and slightly chewy.
Common mistakes and how to avoid them
The dough sticks to your fingers
Probable cause: Too much water was added or the mashed ingredient contained a lot of moisture.
Solution: Add a little glutinous rice flour and knead until the dough is soft but no longer sticky.
The dough cracks and crumbles
Probable cause: It does not contain enough moisture.
Solution: Add a few drops of water at a time and knead until the dough becomes smooth again.
The rice balls are too soft
Probable cause: They were cooked for too long or left in the hot coconut milk for too long.
Solution: Remove them from the water as soon as they float, then only reheat the finished dessert briefly.
The coconut milk is too sweet
Probable cause: Too much palm sugar was added before tasting.
Solution: Start with a smaller amount and adjust gradually according to taste.
The rice balls dry out before cooking
Probable cause: They were exposed to the air for too long.
Solution: Keep them covered until you are ready to cook them in boiling water.
Portail Asie tips
Add the water gradually, as the amount required varies depending on the moisture content of the taro or squash. The dough should remain soft without sticking to your fingers. For several colours, divide the dough into portions and use ingredients such as taro, kabocha squash or pandan juice. Remove the rice balls as soon as they float to the surface, then cool them immediately. Finally, avoid boiling them for a long time in the coconut milk, as they can become too soft.
Substitutions and alternatives
- Taro or kabocha squash
- You can use pandan juice or another plant-based juice to colour the dough naturally. If using juice, reduce or omit the additional water.
- Palm sugar
- If unavailable, use coconut sugar or light brown sugar, although the flavour will be slightly different.
- Pandan leaf
- It is optional. The dessert remains traditional and flavourful without pandan.
- Glutinous rice flour
- Do not replace it with regular rice flour. The characteristic soft and chewy texture of Bua Loy depends on glutinous rice flour.
Watch the preparation

The video is loaded from YouTube after you click.
Order this dish in Thailand
Thai name:บัวลอย
Say it simply:Bua Loy
Show this:ขอบัวลอยหนึ่งถ้วยครับ/ค่ะ
Meaning:One bowl of Bua Loy, please.
Where to find the ingredients
Glutinous rice flour, coconut milk, palm sugar, taro and pandan leaves are available in most Asian grocery stores. Check the flour label carefully: it should say “glutinous rice flour” or “sticky rice flour”, not simply “rice flour”.


