Bua Loy Recipe (Glutinous Rice Balls in Coconut Milk)
As an Amazon Associate, I earn from qualifying purchases. Read the full disclosure here .
This authentic bua loy recipe makes the best glutinous rice balls in coconut milk youโll ever taste. Iโve tried so many different versions at food markets in Thailand, but the one my Thai grandmother taught me is truly something else!

Bua loy is a traditional Thai dessert of glutinous rice balls in coconut milk. Itโs sweet and creamy, with rice balls often flavored with taro, pumpkin, or pandan. The name means โfloating lotusโ in Thai, describing how the balls float in the milk.
About this recipe
Making bua loi starts with steaming and mashing your base ingredients. I used taro, sweet potatoes, and purple potatoes. I also used pandan, which I blended and strained to get a naturally green pandan juice.
Once everythingโs prepped, we make the dough. Glutinous rice flour gets mixed with the mashed ingredients to form a soft, colorful dough.

I usually make a few colors at once because it looks better in the finished bowl. Like with khanom tom and ruam mit, the more colors, the prettier! You can also use food coloring if thatโs all you have.
Once the dough feels smooth and not too sticky (think playdough but softer), roll it into small balls. This part takes a bit of time, but itโs easy, and the kids can join in! I usually do it while watching Youtube.
Then all thatโs left is to heat the coconut milk with sugar and salt. Scoop in the colorful rice balls and thatโs it. I also like to crack in an egg at the end (this version is called bua loy kai wan), but that’s optional.
Ingredient notes and substitutes
You can find everything you need at most Asian grocery stores or local Asian markets. Full measurements are in the recipe card below.
For making the dough

- Purple sweet potatoes
- Sweet potatoes
- Pandan
- Taro
- Glutinous rice flour – For each sticky rice dough, you will need glutinous rice flour and tapioca flour to give the dough a chewy and stretchy texture. Both flours are gluten-free.
- Tapioca flour
- Cold water – Cold water is important for achieving the ideal consistency.
Note: No need to use four different flavoring/coloring ingredients for the dough if you don’t have so many; you can just use one.
For making the sweet coconut milk

- Coconut milk – I like to use dairy-free Aroy-D.
- Pandan leaves (optional)
- Water
- White sugar
- Salt
- Egg (optional) – An egg is sometimes poached into bua loy dessert for flavor.
- Pandan leaves (optional)
How to make bua loy
Step 1: Steam the base ingredients
- Wash taro, sweet potatoes, and purple potatoes. Cut into small, even pieces.
- Steam until fork-tender.
- Wash pandan leaves and blend with water. Strain through a sieve to get pandan juice.

Step 2: Make the taro dough
- Mash the steamed taro in a mixing bowl.
- Add glutinous rice flour and tapioca flour.
- Mix by hand until crumbly.
- Gradually add cold water and knead into a soft, clay-like dough.

Repeat for sweet potato and purple potato. Wrap each dough in plastic wrap to prevent drying.
Pandan dough: Mix flour as above, but gradually add pandan juice instead of water to form the dough. No extra water needed here.

Step 3: Roll into balls
- Dust a tray with glutinous rice flour.
- Roll each dough into small balls and place them on the tray.
- Bring a pot of water to a boil. Add the balls in batches.
- Stir gently. When they float, simmer 2โ3 more minutes.
- Transfer to a bowl of room temperature water to stop the cooking.

Step 4: Make sweet coconut milk
- In a pot, add coconut milk, water, sugar, optional pandan leaves, and salt. Heat gently.
- Crack an egg directly into the coconut milk (optional). Simmer 3โ4 minutes without stirring.
- Add rice balls and serve warm. If making ahead or serving chilled, keep the rice balls and coconut milk separate until serving. Optionally, garnish with toasted coconut flakes, coconut meat, or black sesame seeds.

How to store and reheat
- Eat fresh for the best chewy texture.
- Store up to 1 day in the fridge, in an airtight container.
- Keep coconut milk and rice balls separate if making ahead.
- Reheat gently on the stove over low heat.
- Can be eaten cold.
More Thai desserts with coconut milk
Did you try this bua loy dessert recipe? Iโd love to know how it turned out! Leave a star rating or a comment below. Follow me onย Facebook,ย Instagram, andย Pinterest.
ย
Bua Loy Recipe (Glutinous Rice Balls in Coconut Milk)

Equipment
- Measuring cups and spoons
- Cutting board and sharp knife for slicing taro, sweet potato, etc.
- blender for pandan water
- steamer for steaming root vegetables
- Mixing bowls for making dough
- Plastic wrap to cover dough while resting
- Large flat tray or plate for placing rolled dough balls (dust with flour)
- Cooking pots (x2) one for boiling the balls, one for heating coconut milk
- Sieve or slotted spoon to scoop and rinse the cooked balls
Ingredients
TARO DOUGH
- just over 1/4 cup glutinous rice flour
- 1 tbsp tapioca flour
- 3 oz taro
- 3 tbsp cold water
PURPLE POTATOES DOUGH
- just over 1/4 cup glutinous rice flour
- 1 tbsp tapioca flour
- 3 oz purple potatoes
- 3 tbsp cold water
SWEET POTATOES DOUGH
- just over 1/4 cup glutinous rice flour
- 1 tbsp tapioca flour
- 3 oz sweet potatoes
- 3 tbsp cold water
PANDAN DOUGH
- just over 1/4 cup glutinous rice flour
- 1/4 cup tapioca flour
- about 6 pandan leaves, chopped
- just under 1 cup water
SWEET COCONUT MILK
- 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
Prepare the Ingredients
- Wash and slice taro, sweet potatoes, and/or purple potatoes into small, even pieces.
- Steam until fork-tender.
- Blend pandan leaves with water, then strain to extract pandan juice.
Make the Dough
- In a mixing bowl, mash the steamed taro (or other base).
- Add glutinous rice flour and tapioca flour.
- Mix by hand, then gradually add cold water (or pandan juice) until a soft, clay-like dough forms.
- Repeat for each flavor or color, wrapping dough in plastic wrap to prevent drying.
Roll the Balls
- Dust a tray with glutinous rice flour.
- Roll dough into small balls and place on the tray.
- Bring a pot of water to a boil. Add the balls in batches, gently stirring.
- When they float, simmer 2โ3 more minutes.
- Scoop out and transfer to a bowl of room temperature water.
Make Sweet Coconut Milk
- In a second pot, combine coconut milk, water, sugar, pandan leaves, and salt. Bring to a gentle boil.
- Optional: Crack an egg into the pot and let it poach for 3โ4 minutes (donโt stir).
- Add the cooked rice balls to the coconut milk and serve warm.
- If storing for later, keep rice balls and coconut milk separate.
Notes
- Flavor options: This recipe uses taro, sweet potatoes, purple potatoes, and pandan, but feel free to mix and match. You can even use food coloring if you prefer simplicity or donโt have fresh ingredients on hand.
- Dough moisture tips: Some ingredients hold more water than others. If you're using pumpkin or another watery vegetable, you may need less cold water (or none at all) when forming the dough.
- Keep it simple: Donโt feel like you have to make four doughs! One flavor, like sweet potato, works just fine on its own.
- Ball size: Roll the dough into small balls, theyโll puff up slightly as they cook.
- Storage: Best eaten fresh, but leftovers can be kept in the fridge for up to 1 day. Store the coconut milk and rice balls separately for the best texture.
Supergood
Hi! This is a super interesting recipe but Iโm confused by the egg – is it poached and then broken into the coconut milk? Or removed after cooking? Or something I havenโt thought of?
Hey Jenn, thank you! In step 2 of ‘make sweet coconut milk’, the egg is added to the coconut milk.
“Crack the eggs in the boiling coconut milk, cook for 3โ4 minutes or until the egg is done. Don’t stir, this will break the egg.”
I will definitely take a look at the instructions later to see if I can make things more clear, thank you!