Vietnamese Sweet Sticky Rice: How to Make Xôi Ngọt

Updated November 6, 2026

Total time
13 hr 15 min
prep 20 min · cook 55 min
Serves
6
portions as written

Jump to recipe

Vietnamese Sweet Sticky Rice: How to Make Xôi Ngọt

Vietnamese sweet sticky rice, often called xôi ngọt, is a family of dishes made with glutinous rice, which turns tender and pleasantly chewy when steamed. It may be sweetened with sugar or coconut milk and topped with sesame, mung beans, or other ingredients; this simple version uses coconut milk, sugar, and sesame for a fragrant, lightly sweet result. The exact style varies by region and household.

Use glutinous rice, also sold as sweet rice or sticky rice—not ordinary long-grain rice. A steamer gives the most even texture, and the rice needs an overnight soak before cooking.

What You’ll Need

  • 2 cups (370 g) glutinous rice
  • 1 teaspoon (5 g) fine salt, divided
  • 1 cup (240 ml) full-fat coconut milk, stirred smooth
  • 3 tablespoons (38 g) granulated sugar
  • 1 tablespoon (15 ml) neutral oil, such as canola or sunflower oil
  • 2 tablespoons (18 g) white or black sesame seeds
  • Water for soaking and steaming
  • A steamer with a lid, a heatproof shallow dish or steamer liner, and a clean kitchen towel

Step-by-Step

  1. Rinse and soak the rice. Put the glutinous rice in a bowl and cover it with several inches of cool water. Swish the grains with your hand, pour off the cloudy water, and repeat until it is less cloudy, usually three or four rinses. Cover the rice with fresh water and soak for 8–12 hours at room temperature. If your kitchen is very warm, soak it in the refrigerator. Drain thoroughly in a sieve for 10 minutes; excess water can make the rice soggy.
  2. Prepare the steamer. Add water to the steamer’s lower pot, keeping the water below the basket. Bring it to a steady boil. Line the basket with a damp, clean cloth or a steamer liner, making sure steam can circulate around the rice. If using a cloth, keep its edges clear of the burner and flame.
  3. Season the rice. Transfer the drained rice to a bowl and mix in ½ teaspoon (2.5 g) salt. Spread it in an even layer in the lined basket. Make a few small gaps through the rice with a chopstick to help steam pass through. Cover and steam over medium heat for 25 minutes, checking that the lower pot does not boil dry.
  4. Mix the coconut dressing. While the rice steams, stir together the coconut milk, sugar, remaining ½ teaspoon (2.5 g) salt, and oil in a small saucepan. Warm over low heat for 2–3 minutes, stirring until the sugar dissolves. Do not boil: a gentle warming is enough. Set aside.
  5. Season and finish steaming. Carefully transfer the hot rice to a wide heatproof bowl. Pour over about three-quarters of the coconut mixture and fold gently with a rice paddle or spatula, lifting from the bottom rather than mashing. Return the rice to the steamer, spread it evenly, cover, and steam for another 15 minutes. The grains should be plump, tender, and cohesive, with no hard or chalky center.
  6. Toast the sesame. While the rice finishes steaming, put the sesame seeds in a dry skillet over medium-low heat. Stir for 2–4 minutes, until fragrant and lightly golden; black sesame will not visibly turn golden, so watch for aroma and a faint popping sound. Take the pan off the heat so the seeds do not scorch.
  7. Rest, garnish, and serve. Turn off the heat and let the covered rice sit in the steamer for 5 minutes. Transfer it to a serving dish, drizzle on the remaining coconut mixture as needed, and scatter the toasted sesame over the top. Serve warm. If you prefer a less rich dish, reserve some dressing rather than adding it all.

Common Mistakes

  • Using the wrong rice: Jasmine or other ordinary rice will not produce xôi’s characteristic sticky, chewy texture. Look for glutinous, sweet, or sticky rice; despite the name, it contains no gluten.
  • Skipping or shortening the soak: Dry centers can remain even after steaming. Soak for at least 8 hours, then drain well so the surface water does not turn the rice mushy.
  • Adding too much liquid at once: Different rice and coconut milk absorb differently. Fold in three-quarters of the dressing first, then add only enough of the rest to give the grains a moist sheen.
  • Steaming in a deep, packed mound: Steam may not reach the center evenly. Use a shallow layer, leave a few gaps, and avoid compressing the grains.
  • Letting the steamer run dry: Check the water during cooking and add more hot water if needed, taking care not to splash the rice basket.

Tips

  • For a more distinct coconut aroma, use full-fat coconut milk and shake or stir the can thoroughly before measuring. Light coconut milk works but produces a less rich result.
  • For a traditional-style garnish, serve with extra sesame seeds or a little crushed roasted peanut. A pinch of sugar in the sesame topping is optional.
  • For a simpler, less coconut-forward version, steam the rice with salt alone and serve the coconut dressing at the table.
  • Keep the rice loosely covered while serving so it stays warm without drying out. It firms as it cools, so warm leftovers with a splash of water or coconut milk.

Troubleshooting

  • The rice is hard in the middle: Sprinkle 1–2 tablespoons (15–30 ml) water over it, fluff gently, and steam for another 5–10 minutes. Check again before adding more water.
  • The rice is wet or mushy: Spread it out in a wider layer and steam uncovered for 3–5 minutes to let some moisture escape. Next time, drain longer and add the coconut dressing gradually.
  • The rice is dry or clumping: Fold in a tablespoon of warm coconut milk or water at a time, then cover and steam for 3–5 minutes. Avoid stirring forcefully, which can break the grains.
  • The bottom pot has boiled dry: Turn off the heat before refilling it with hot water. Check the rice for scorching or smoke; if it smells burnt, move the unscorched rice to a clean dish without scraping the bottom.
  • The flavor tastes flat: Add a small pinch of salt or a little more sugar to the warm coconut dressing, tasting as you go. Salt helps balance the sweetness rather than making the dish taste salty.

Frequently Asked Questions

Is glutinous rice the same as regular sticky rice?
Glutinous rice is the short- or medium-grain rice used for this dish. It is also labeled sweet rice or sticky rice, and is different from ordinary rice that happens to stick together.

Can I make Vietnamese sweet sticky rice without a steamer?
Yes. Put the soaked, drained rice in a heatproof bowl set on a rack inside a large pot with a lid. Add water below the rack, cover, and steam as directed. Keep the bowl above the water and check that the pot does not boil dry.

Can I use canned coconut milk?
Yes. Full-fat canned coconut milk gives a rich result; stir it smooth before measuring. Coconut cream is thicker and richer, so thin it with a little water to reach a pourable consistency.

Can I make it ahead?
It is best freshly steamed, but you can prepare it ahead and reheat it with a splash of water or coconut milk until steaming hot. Refrigerate cooked rice within 2 hours in a covered, shallow container, and use within 3–4 days. Reheat leftovers to 165°F (74°C); do not leave rice at room temperature for extended periods.

Can I freeze the leftovers?
Yes. Cool and portion the rice, then freeze it in airtight containers. Thaw in the refrigerator or reheat from frozen with a little water, covered, until steaming hot throughout.

What can I serve with xôi ngọt?
Serve it as a snack, breakfast, or dessert. Sesame and roasted peanuts add crunch; fresh fruit can provide a lighter contrast. Toppings and sweetness vary across Vietnamese versions.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).