Highland Sticky Rice: A Fragrant Vietnamese-Style Xôi

Updated November 4, 2026

Total time
7 hr 5 min
prep 6 hr 15 min · cook 50 min
Serves
4
portions as written
Safe temperature (USDA)
165°F / 74°C
check the thickest piece

Jump to recipe

Highland Sticky Rice: A Fragrant Vietnamese-Style Xôi

Highland sticky rice, often associated with Vietnamese upland rice dishes such as xôi nếp nương, is glutinous rice steamed until glossy, fragrant, and tender. This simple version uses rice, salt, and a steamer; it works because soaking softens the grains before steaming, helping them cook evenly without turning watery. Regional and family versions vary, and the rice can be served plain or with savory dishes and toppings.

Ingredients

  • 2 cups (370 g) uncooked Thai or other glutinous rice, also called sweet rice
  • 6 cups (1.4 L) cool water, for soaking
  • ¾ teaspoon fine salt (about 4 g)
  • 6 cups (1.4 L) water, for the steamer reservoir, or the amount required by your steamer
  • 1 tablespoon (9 g) toasted sesame seeds, optional, for serving
  • 2 tablespoons (18 g) chopped roasted peanuts, optional, for serving

Instructions

  1. Rinse the rice. Put the glutinous rice in a large bowl and cover it with cool water. Swirl the grains with your fingers, pour off the cloudy water, and repeat three or four times, until the water looks much clearer. It does not need to be perfectly clear. Rinsing removes loose surface starch that can otherwise make the cooked grains stick together in a dense, gummy layer.
  2. Soak the rice for 6 hours. Add the measured soaking water, cover the bowl, and refrigerate it for 6 hours. The cold soak gives the firm grains time to absorb water all the way through. If you need to soak longer, keep the bowl refrigerated and use the rice within 12 hours. Do not shorten the soak substantially: rice that is still hard in the center may cook unevenly in the steamer.
  3. Drain and season. Tip the rice into a fine-mesh strainer and let it drain for 10 minutes, shaking the strainer once or twice so water does not pool at the bottom. Transfer the rice to a bowl and gently mix in the salt. Taste a few dry grains if you like; they should be lightly seasoned, not salty. Avoid crushing or vigorously stirring the soaked rice.
  4. Prepare the steamer. Add the measured steamer water to the bottom of a pot or steamer, making sure the water will not touch the rice basket. Bring it to a steady boil. Line a perforated steamer basket with a clean, damp muslin cloth or thin cotton cloth, leaving enough fabric to fold loosely over the rice. A properly fitted liner keeps grains from falling through while still allowing steam to circulate.
  5. Steam for 35 minutes. Spread the drained rice in an even layer in the lined basket; do not pack it down. Fold the cloth over the top, set the basket over the boiling water, and cover with a close-fitting lid. Keep the water at a steady simmer or boil so steam continues to rise. At about 20 minutes, carefully lift the lid and use a fork or chopsticks to turn the rice gently from the outside toward the middle. Cover again and steam for the remaining 15 minutes.
  6. Check that it is tender. At 35 minutes, taste a few grains from the center and the edge. Properly cooked rice should be soft and chewy throughout, with no firm, chalky core. If you find a hard center, sprinkle 1 tablespoon (15 ml) warm water over the rice, cover, and steam for 5 more minutes before checking again. Different rice ages and steamer baskets can affect the timing, so texture is the best guide.
  7. Rest and serve. Turn off the heat and leave the rice covered in the steamer for 10 minutes. This short rest lets the steam settle and makes the grains easier to handle. Fluff gently with a fork or rice paddle, transfer to a warm serving bowl, and add sesame seeds or peanuts if desired. Serve while warm and pleasantly chewy.

Tips

  • Choose the right rice. Look for glutinous rice, sometimes labeled sweet rice or sticky rice, rather than sushi rice or ordinary short-grain rice. Despite its name, glutinous rice contains no gluten; its starch gives the cooked grains their characteristic cling. White glutinous rice is the most straightforward choice here. Brown glutinous rice can work, but it usually needs a longer soak and steaming time, so follow the package guidance and check the center for tenderness.
  • Keep the water out of the rice. Steaming is different from boiling. If water rises into the basket, the bottom layer can become soggy while the upper grains remain underdone. Check the pot before you start, and top up the reservoir with hot water if it gets low. Use oven mitts when lifting a hot lid, and keep your face and hands away from the first burst of steam.
  • Use a cloth liner or a suitable basket. A clean cotton or muslin liner is a practical substitute for a traditional bamboo steamer. If your steamer has small perforations, the liner helps prevent grains from escaping. Do not use a tightly sealed container in place of a vented steamer basket: the rice needs exposure to moving steam to cook evenly.
  • Season simply, then adjust at the table. A modest amount of salt brings out the rice’s aroma without limiting what you can serve alongside it. If your meal includes salty grilled meat, a rich sauce, or salted toppings, start with ½ teaspoon salt (about 3 g). Sesame and peanuts are optional; omit them for a plain side or when accommodating allergies.

Serving Suggestions

Serve highland-style sticky rice warm as a side for grilled or roasted meat, sautéed vegetables, mushrooms, or a savory stew. Its chewy texture pairs especially well with dishes that have a little sauce, but it is satisfying alongside dry-seasoned food too. For a simple meal, put the rice in a shared bowl and offer the sesame seeds and chopped peanuts separately so each person can add them as desired. The toppings add crunch and a toasted flavor, but plain rice is also a useful base for a more strongly seasoned main dish.

For a casual gathering, shape small portions with a damp spoon or clean hands and arrange them on a platter beside dipping sauce and vegetables. Avoid pressing the rice into a compact block; loose portions are easier to pull apart and stay pleasant to eat. If you are serving several dishes, keep the rice covered until the meal is ready, since the exposed surface can dry as it cools. Put out only what you expect to eat and keep the remaining rice hot or refrigerate it promptly after the meal.

Variations

Make a coconut-scented version. After the rice has steamed until tender, gently fold in ¼ cup (60 ml) warm coconut milk and return the basket to the steamer for 3 minutes. This makes the rice richer and slightly softer, so it may be better suited to a meal with grilled vegetables or a lightly seasoned main. Coconut milk is a variation rather than a requirement for this plain steamed recipe.

Add aromatics. For a savory variation, steam the rice with two bruised lemongrass stalks laid on top, then remove them before serving. A few slices of ginger can also add a warm aroma. These additions perfume the rice without changing its basic texture; keep them whole or in large pieces so they are easy to remove.

Use colorful rice varieties. Some upland dishes use naturally colored rice or color the grains with plant ingredients, but availability and methods differ by region. You can substitute black or purple glutinous rice if you can find it, though it may need a longer soak and a longer steaming time than white rice. Cook it until the grains are tender rather than relying on the timing here, and expect a deeper color and earthier flavor.

Make it a more substantial side. Serve the cooked rice with crisp fried shallots, chopped herbs, or a small bowl of seasoned dipping sauce. Add toppings just before eating so they keep their texture. If mixing in cooked ingredients, make sure they are freshly prepared and hot; adding wet or cold ingredients directly to the steamer can make the rice unevenly moist.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking. Divide a large amount into shallow, covered containers so it cools more quickly, then keep it refrigerated for 3–4 days. Cooked rice should not sit at room temperature for an extended time, and reheating does not make rice that has been left out too long safe to eat. Store toppings separately when possible so sesame and peanuts stay crisp.

For reheating, sprinkle a serving with 1–2 teaspoons (5–10 ml) water, cover, and microwave in short intervals, stirring or turning once, until steaming hot throughout. You can also re-steam it in a lined basket for about 5–10 minutes, checking that the center is hot. USDA FSIS recommends reheating leftovers to 165°F (74°C); check the center with a food thermometer when practical. Reheat only the portion you plan to eat. To freeze, pack cooled rice in meal-size portions for up to 1 month for best texture, thaw it in the refrigerator, and reheat it thoroughly.

Frequently Asked Questions

Is highland sticky rice the same as sushi rice? No. Highland-style sticky rice is typically made with glutinous rice and steamed after soaking. Sushi rice is usually a different short-grain rice, cooked by absorption and seasoned with vinegar, sugar, and salt. The grains may look similar when uncooked, but the texture and cooking method are different, so use rice labeled glutinous, sweet, or sticky rice for this recipe.

Can I cook it without a bamboo steamer? Yes. A metal steamer basket or a pot with a perforated insert works well if it holds the rice above the water. Line it with clean cloth if the holes are large enough for grains to fall through. A colander balanced securely over a pot can also work if it is heat-safe, fits closely enough to hold steam, and does not touch the boiling water. Cover the setup with a lid during steaming.

Why is my sticky rice hard in the middle? The most common causes are an insufficient soak, a weak supply of steam, or a thick, packed layer of rice. Soak the grains for the full 6 hours in the refrigerator, spread them loosely in the basket, and make sure the water below remains at a steady boil. If the rice is nearly done but still has a firm center, sprinkle on a little warm water and steam it for another 5 minutes.

Can I soak the rice overnight? Yes. Keep it covered in the refrigerator and use it within 12 hours. Drain it well before steaming, because excess soaking water can make the texture wet. If you want to start soaking the night before, cold storage is a practical way to fit the preparation around your schedule without leaving the bowl at room temperature for hours.

Can I make sticky rice ahead? You can cook it a few hours ahead, but it is at its best freshly steamed. Keep it covered and warm for a short time, then fluff it gently before serving. For longer storage, refrigerate it within 2 hours and reheat only what you need. Refrigerated rice firms up as it cools; adding a little water and reheating it covered helps restore a softer, chewier texture.

What does the word highland mean in this recipe? It refers to a style associated with upland rice and food traditions, including versions found in Vietnam’s highland regions, rather than one fixed recipe. Rice types, seasonings, colors, and accompaniments vary between places and households. This recipe is a straightforward steamed preparation designed to work with widely available glutinous rice, not a claim that every regional version is made the same way.

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).