Easy Cantonese Sticky Rice Balls Recipe with Peanuts

0 Comments Servings: 4 Total Time: 35 mins Calories: 210 kcal

Grandma used to roll these on the kitchen counter without measuring a single thing, and somehow every batch came out perfectly round with that satisfying chew. Recreating her easy Cantonese sticky rice balls recipe at home took a few attempts to nail the dough hydration, but once it clicked, the whole process became almost meditative. The peanut filling roasted until fragrant, wrapped inside soft glutinous dough, coated in crushed peanuts outside — it hits differently when you make it yourself.

A rustic bowl of steaming warm Cantonese glutinous rice balls coated in golden crushed peanuts, served with hot tea on a dark wood table

What Makes These Rice Balls Worth Making Every Time

Glutinous rice dough has a personality. Too dry and the balls crack when you press the filling in; too wet and they stick to everything and lose their shape in the water. What makes this particular sticky rice balls recipe reliable is the resting step after mixing, which lets the dough fully hydrate before you start shaping. Most recipes skip it and then wonder why the texture feels off.

The peanut filling here uses toasted peanuts blitzed with sugar and a small knob of butter, which keeps it slightly moist so it stays together when you bite through rather than crumbling out. That combination of soft exterior and slightly crumbly-but-cohesive filling is exactly the texture contrast that makes this rice ball dessert genuinely worth the effort.

Everything Going Into the Dough and Filling

Getting this right starts at the ingredient stage, so a few notes before diving in:

For the dough:

  • 2 cups (240g) glutinous rice flour — also called sweet rice flour. Standard rice flour will not work here; the glutinous variety is what creates that signature stretchy, chewy texture.
  • 3/4 cup (180ml) warm water — add gradually, not all at once. Flour brands absorb water differently, so you may need a tablespoon more or less.
  • 2 tbsp (25g) sugar — just enough to take the edge off the starchiness without making the dough sweet on its own.
  • 1 tbsp (14g) melted butter or neutral oil — optional but worth it; a small amount of fat makes the dough more pliable and less prone to cracking.

For the peanut filling:

  • 1 cup (140g) roasted unsalted peanuts — if you only have raw peanuts, toast them in a dry pan over medium heat until golden and fragrant, about 5 minutes.
  • 3 tbsp (38g) granulated sugar — adjust to taste.
  • 1 tbsp (14g) softened butter — binds the filling so it holds a ball shape instead of falling apart.
  • Pinch of salt — lifts the whole thing.

For the coating:

  • 1/2 cup (70g) finely crushed roasted peanuts mixed with 2 tbsp sugar — spread on a plate and roll the cooked balls through it while still warm so the coating sticks properly.
Overhead flatlay view of glutinous sweet rice flour, warm water, granulated sugar, roasted whole peanuts, crushed peanuts, and softened butter on a rustic wooden kitchen counter

Before You Start

Blend the peanuts for the filling first so they have time to cool slightly before handling. Divide the filling into small balls, roughly 10g each, and set them on a tray in the fridge while making the dough. Cold filling is much easier to wrap because it holds its shape against the warm, soft dough.

Shaping and Cooking Them Through

Step 1: Make the filling

Pulse the toasted peanuts in a food processor until they reach a coarse, crumbly texture — not a paste. Add sugar, butter, and salt, then pulse again until everything just starts clumping together. Scoop into roughly 1-teaspoon portions, roll into small balls with your palms, and refrigerate while you prepare the dough.

Kneading a smooth, pliable white glutinous rice flour dough by hand in a ceramic mixing bowl on a wooden board

Step 2: Mix the glutinous rice dough

Combine glutinous rice flour and sugar in a mixing bowl. Add warm water gradually while stirring, then mix in melted butter. Knead gently until a smooth, non-sticky dough forms — about 2 minutes. If it tears when stretched, it needs another minute of kneading. Cover with a damp cloth and rest for 10 minutes. This rest is not optional; it dramatically improves the texture.

Hands folding a round white glutinous rice dough disc over a chilled spherical peanut filling ball on a wooden cutting board

Step 3: Wrap the filling

Pinch off dough pieces about 25g each and roll into a ball. Flatten it into a disc roughly 3 inches across with your fingers, keeping the edges slightly thinner than the center. Place a cold peanut ball in the middle, then gather the edges up and pinch firmly to seal. Roll gently between your palms until smooth. Any crack in the seal will let water in during cooking and turn the filling soggy.

Boiling white glutinous rice balls floating in a simmering blue pot on a gas stove with a metal wire spider strainer lifting cooked balls

Step 4: Cook in simmering water

Bring a large pot of water to a gentle boil, then reduce to a steady simmer. Drop the rice balls in batches — do not crowd them. They will sink at first, then float to the surface after 2 to 3 minutes. Once floating, cook for another 2 minutes. The dough turns slightly translucent and loses its chalky white appearance when fully cooked through.

Lifting steaming hot, glossy cooked white rice balls in a wire skimmer spoon above a blue cooking pot on the stovetop

Step 5: Coat and serve

Use a slotted spoon to transfer the cooked balls directly onto the crushed peanut coating. Roll each one to cover completely while still warm and wet — the surface moisture acts as the glue. Serve immediately while the outside is still tender and the coating is fresh.

Dusting golden crushed roasted peanuts through a small wire strainer over a warm white glutinous rice ball resting on a shallow ceramic plate

Serving Warm Versus Room Temperature

Warm, straight from the pot: Rolling them in peanuts right away gives the fullest coating. The dough is at peak softness and the peanut layer sticks evenly.

At room temperature: If serving at a party or packing for a gathering, let them cool on a lightly oiled plate to prevent sticking, then coat just before serving. Avoid piling them on top of each other while warm or they will fuse together.

Smaller portions for kids: Rolling the dough into 15g pieces rather than 25g creates bite-sized balls that are less of a choking concern for small children while still delivering the full flavor.

Swaps Worth Knowing Before You Cook

  • Sesame coating instead of peanuts: Rolling the cooked balls in toasted black or white sesame seeds is a classic Cantonese alternative. The nuttiness is less intense but the visual contrast is stunning.
  • Coconut sugar in the filling: Swapping granulated sugar for coconut sugar gives the peanut filling a slightly caramel-like depth without changing the texture.
  • Pandan water in the dough: Replace plain warm water with pandan leaf water for a pale green dough with a subtle floral fragrance. Simmer 4 pandan leaves in water for 10 minutes, cool, then use as normal.
  • Red bean paste filling: When peanuts are unavailable, store-bought red bean paste rolled into firm balls works beautifully. Keep it chilled before wrapping.

What to Serve Alongside This Cantonese Sweet Rice Ball Dessert

A small bowl of these alongside a cup of something warm is really all they need. When bringing them to a dim sum spread or a dessert table, pairing with a light soup or tea works perfectly.

  • Jasmine Tea — brew a pot and serve alongside; the floral lightness cuts through the richness of the peanut filling.
  • Ginger Syrup Soup — simmer thin slices of fresh ginger in water with rock sugar, then ladle over the balls for a traditional Cantonese tong yuan presentation.
  • Mango Pudding — serve on the same dessert platter for a contrast in texture and temperature at a larger gathering.
  • Toasted Coconut Flakes — sprinkle over the peanut coating for an extra layer of fragrance and crunch.

Getting the Texture Right Every Single Time

  • Dough cracking while shaping: If the wrapper tears at the edges when you pull it up around the filling, the dough is too dry. Work a few drops of water into it and knead briefly. Cracks that appear during shaping almost always open up further during boiling, so fix them before cooking.
  • Filling leaking into the water: A leaking ball means the seal at the top was pinched but not properly fused. After sealing, roll the ball firmly between both palms with gentle pressure for about 10 seconds. You will feel any thin spot close under pressure.
  • Gummy or overly dense texture: Overcooking is usually the culprit. Once the balls float and have cooked for 2 additional minutes, pull them out. Leaving them in the water longer does not improve them; the dough begins to absorb water and the texture turns heavy.

Leftover cooked balls can be stored in an airtight container at room temperature for up to 8 hours without losing much texture. For longer storage, refrigerate and reheat in simmering water for 1 minute — not microwave, which makes the dough unpleasantly rubbery. Freeze uncooked shaped balls on a tray before transferring to a bag; cook from frozen adding about 2 extra minutes.

Easy Cantonese Sticky Rice Balls Recipe with Peanuts

Difficulty: Beginner Prep Time 15 mins Cook Time 10 mins Rest Time 10 mins Total Time 35 mins
Cooking Temp: 95  C Servings: 4 Estimated Cost: $ 6 Calories: 210 kcal
Best Season: Suitable throughout the year

Description

Soft, chewy glutinous rice balls filled with toasted peanut sugar mixture and rolled in crushed peanuts. A classic Cantonese sweet snack that comes together in under 30 minutes with simple pantry ingredients.

Ingredients

Cooking Mode Disabled

Dough

Peanut Filling

Coating

Instructions

  1. Step 1: Toast and blend the peanuts

    If using raw peanuts, toast in a dry skillet over medium heat for 5 minutes until golden and fragrant, stirring frequently. Cool for 5 minutes, then pulse in a food processor until coarsely ground. Add sugar, softened butter, and salt. Pulse until the mixture just starts clumping. Roll into 16 small balls (about 10g each) and refrigerate on a tray.

  1. Step 2: Make the dough

    Whisk glutinous rice flour and sugar together in a large bowl. Add warm water gradually while stirring with a spatula, then add melted butter. Knead into a smooth, soft dough — it should feel like soft playdough and not stick to your hands. If it tears when stretched, knead for another minute. Cover with a damp cloth and rest for 10 minutes.

  1. Step 3: Divide and flatten

    Divide the rested dough into 16 equal portions (about 25g each). Roll each into a ball, then flatten into a disc roughly 7 to 8 cm wide. Keep the center slightly thicker than the edges to prevent the bottom from breaking when the filling is added.

  1. Step 4: Fill and seal

    Place a chilled peanut ball in the center of each dough disc. Gather the edges upward, pinching firmly to close at the top. Roll the sealed ball between both palms using gentle circular pressure for 10 seconds to smooth the surface and reinforce the seal. Place on a lightly floured tray.

  1. Step 5: Cook in simmering water

    Bring a large pot of water to a boil, then reduce to a medium simmer. Drop the balls in batches of 6 to 8. They will sink, then float to the surface after 2 to 3 minutes. Once floating, cook for 2 more minutes. The surface should look slightly translucent and feel soft when nudged with a spoon.

  1. Step 6: Coat and serve

    Mix crushed peanuts and sugar together on a flat plate. Remove the cooked balls with a slotted spoon and place directly onto the coating. Roll each one to cover fully while the surface is still moist. Serve warm.

Nutrition Facts

Servings: 4 ServingCalories:210kcalTotal Fat:8gDietary Fiber: 1gSugars: 10gProtein:5gCarbohydrates: 34g

Note

  • Glutinous rice flour and regular rice flour are not interchangeable. Only glutinous (sweet) rice flour creates the stretchy, chewy texture.
  • Do not skip the 10-minute dough rest. It noticeably improves elasticity and prevents cracking.
  • For black sesame balls, substitute the peanut filling with store-bought black sesame paste and omit the butter.
  • Uncooked balls freeze well. Freeze on a tray first, then bag. Cook from frozen, adding 2 to 3 extra minutes.
Keywords: sticky rice balls, sweet rice balls, glutinous rice balls, Cantonese dessert, peanut rice balls

FAQ Section

Expand All:

What type of flour do I need for this sticky rice balls recipe?

You need glutinous rice flour, sometimes labeled sweet rice flour. Standard rice flour has a completely different starch composition and will produce a crumbly, non-stretchy result. Look for brands like Erawan or Bob’s Red Mill in the baking or Asian foods aisle.

Can I make sweet sticky rice balls ahead of time?

Cooked rice balls are best eaten within a few hours of making them. For advance prep, shape and freeze uncooked balls up to one month ahead. Cook directly from frozen in simmering water, adding 2 to 3 extra minutes to the cooking time.

Why do my rice balls crack while shaping?

Cracking during shaping almost always points to under-hydrated dough. Knead a few drops of warm water in at a time until the dough feels pliable and no longer tears at the edges. Also make sure the dough has rested for the full 10 minutes before shaping.

How do I know when glutinous rice balls are fully cooked?

Two reliable signs: the balls float to the surface after 2 to 3 minutes, and the outer surface shifts from opaque white to slightly translucent. Once they float, give them 2 more minutes before removing. Pulling them out the moment they float often leaves a slightly undercooked dense core.

Lina Harper Recipe Developer & Food Blogger

Hi, I’m Lina — a home cook who loves turning simple ingredients into comforting, flavorful meals. I believe cooking should feel approachable and enjoyable, not complicated. Here, I share practical recipes designed for real kitchens and everyday life.

Recipe Rating

Your email address will not be published. Required fields are marked *

Leave a Comment

Your email address will not be published.

Recipe Rating