Classic Ondeh-Ondeh Recipe for Your Absolute Delight

Ondeh-ondeh, chewy gooey balls of deliciousness

Ondeh-ondeh is a traditional Malaysian treat suitable for dessert, tea time or breaking fast. It’s always green and covered with a layer of freshly grated coconut and filled with a sweet explosion of liquid coconut sugar. They’re irresistible and addictive, and it’s difficult to stop with just one.

The chewy outer layer of this kuih is not unlike the Japanese mochi. Made with a combination of glutinous rice flour and rice flour, this yummy sweet treat is also gluten-free and vegan. If you swap store-bought pandan extract for one you make your own, it’s possible to make this a clean-eating delicacy. Delicious without the guilt? We’re in!

Some like their ondeh-ondeh bigger in size, while others like them tiny, each ball a perfect mouthful. This recipe can be adapted to fit your preference, however, we’ve chosen to make them smaller as it’s easier to handle especially if this is your first time trying to make this dessert. Fret not though, this treat super simple and requires less than ten easily available and affordable ingredients.

This recipe doesn’t take very long to prepare or cook either, but you must remain patient as freshly cooked ondeh-ondeh has a molten liquid that can burn the insides of your mouth if eaten while still hot. Let it cool to room temperature before popping one in your mouth, or at least wait until it’s warm. Just don’t forget to keep your mouth closed while you chew, or you could end up squirting some precious liquid coconut sugar all over the person next to you! Trust us, this has happened at least once to most of us before. An ondeh-ondeh just isn’t worth it if it doesn’t squirt!


  • 60g glutinous rice flour + extra if needed
  • 30g rice flour
  • 1/8 tsp pandan extract
  • 75ml (5 tbsp) water + extra if needed
  • 50g freshly grated coconut
  • 2g (1/4) tsp fine sea salt
  • 35g coconut sugar (gula Melaka)
  • 1 pandan leaf, knotted
  • Water for boiling


  1. In a bowl or plate, mix freshly grated coconut with salt. As salt intensities can vary, taste your mixture. You want the salt to bring out the rich flavour of the grated coconut without ending up with a salty mix. Add more grated coconut if you find the mixture too salty.
Mix salt and grated coconut
  1. Chop coconut sugar into small chunks. You can also use a grater. If you like a completely liquid centre, grate your gula melaka fine. If you like a bit of crunch, have a combination of small chunks and finely grated coconut sugar.
Chop or grate gula Melaka

Making ondeh-ondeh

  1. In a mixing bowl, combine glutinous rice flour and rice flour and whisk to mix.
Combine both flours
  1. Add pandan extract to water. Stir to mix evenly and watch that stunning green colour appear!
  2. Add pandan extract mixture to the flour, then combine it until it forms a pastel green dough. We found this easier done by hand. You want a dough with a texture that feels elastic, almost like playdough. However, it should not feel sticky on the fingers. If the dough feels too dry, add some water 1 teaspoon at a time. If it’s too moist, add glutinous rice flour 1 teaspoon at a time. The dough should not stick to your fingers.

This looks bewitching!

Lovely pastel dough

  1. Divide and roll the dough into roughly 18 balls, of about 9-10g each. Place them on a surface dusted with glutinous rice flour as these balls can get quite sticky.
Cute little balls of dough
  1. Dust your hands with a little bit of glutinous rice flour. Take one ball and flatten it on the palm of your hand. You don’t want to flatten it too thinly or overly thick. Too thin and your balls can easily tear while cooking. Too thick and it’ll just be too chewy. About 3mm thick is a good size, but if you’re a first-timer, err on the (slightly) thicker side until you get the hang of it.
  2. Add about 1/2 teaspoon of coconut sugar in the middle, then shape the dough back into a ball to cover the filling. Repeat until you’ve used up all the balls of dough.

Take one ball of dough

Flatten it and place some filling in the middle


  1. Bring about 7cm to 10cm worth water to a boil in a small or medium-sized pot with the knotted pandan placed leaf inside.
Bring water to a boil
  1. Place the uncooked balls into the pot. Work in small batches. Let the balls boil until they float, plus a few minutes extra depending on how your liquid you want the centre to be, roughly 10 to 15 minutes of total boiling time.
Pretty pastel balls starting to float
  1. Once the balls have cooked, remove them with a strainer, shaking it lightly to get rid of excess water.
Remove cooked balls
  1. Immediately transfer the balls to your grated coconut and roll them around until they are evenly coated.

Transfer balls to grated coconut

Roll them around

Perfectly coated!

  1. Once coated, place the balls on a platter and let it cool to room temperature before serving. We don’t recommend cooling them down in a refrigerator as they will tend to harden.
Irresistible cross-section!

Freezing tip!

Did you know that you can freeze ondeh-ondeh? That’s right. If you’ve got time to spare and since you’re already getting your hands sticky, make a giant batch of these balls by following steps 1 to 8 and freezing the extras after step 8. We recommend freezing them in separate containers for portion control. When you’re ready to cook them, mix your grated coconut accordingly and proceed with step 9 onwards. It will take a little longer to cook from frozen (about 10 minutes extra boiling time from the when it starts to float), and you do not need to defrost it first. However, do not freeze already cooked ondeh-ondeh! You’ll just have to eat everything up! That’s not a particularly difficult task now is it?

Frozen ondeh-ondeh!

Extra tips

  1. For authentic results, use actual gula Melaka and not the western variety of coconut sugar. However, if you live somewhere where proper gula Melaka is not available, coconut sugar will do as they have similar flavour profiles. Do adjust cooking time though as the melting point may differ slightly. Plus, you’re not going to get that ‘crunch’ experience compared to when using chunks of gula Melaka.
  2. You can also use 100% glutinous rice flour and omit the rice flour completely. However, this results in a very soft and squishy ondeh-ondeh. The rice flour helps to give the little balls their structure and spherical shape. Feel free to reduce the amount of rice flour while topping up the same amount in glutinous rice flour until you find a combination of softness and firmness that you like. However, if you’re a first-timer, the ratio we’ve used above is great for a fuss-free ondeh-ondeh recipe.
  3. Freshly grated coconut is best, however, in a pinch, you can use frozen or refrigerated grated coconut, depending on what’s available at your local or Asian supermarket. If you’re using frozen or refrigerated, steam the grated coconut mixed with salt for 15-20 minutes, then spread it on a plate or bowl to cool. Desperate? Use desiccated coconut steamed with salt, but it won’t have that fluffy texture of grated coconut.
  4. If you’re using natural pandan extract, the colour of your ondeh-ondeh will not be as striking. That is completely fine.

We bet you can’t wait to pop these balls of chewy gula Melaka goodness into your mouth, so don’t let us keep you waiting any longer. Get your ondeh-ondeh on and share your pictures with us by tagging them with #butterkicap!


Butterkicap Team

We're just a small group of friends who love food, culture and Malaysia. We saw the rise of mediocre food, deteriorating relationships and missed the good old days of Malaysia where food was good, homes were warmer and full of friends and family. So we rolled up our sleeves, and made Butterkicap with the hope that it will bring people and flavors home.

Love Malaysian food and culture? Find Malaysian recipes and stories on culture here in the Butterkicap community. Join us.

Sign up for Butterkicap

Tweet us 

Show the world just how amazing Malaysian food is.

Hashtag us at #butterkicap

Please check your feed, the data was entered incorrectly.