Vietnamese Mung Bean Xôi
Photo by Son Hoa Nguyen on Pexels

Vietnamese Mung Bean Xôi

Xôi with mung beans is a beloved Vietnamese comfort dish—sticky glutinous rice infused with coconut milk, studded with tender split mung beans, and topped with crispy fried shallots. The combination of creamy rice, earthy beans, and savory aromatics makes it perfect as a side dish or light meal. Traditionally served warm at breakfast, lunch, or as an offering at festivals.

Prep
15 min
Cook
45 min
Wait
30 min
Total
1 hr 30 min
Makes
About 4 cups (serves 4 as a side or 2 as a main course)
Share

Steps

Before you start
  • Rinse the sticky rice thoroughly under cold water until the water runs mostly clear (removes excess starch so grains don't clump into a paste)
  • Soak both sticky rice and split mung beans in separate bowls of cold water for 30 minutes to help them cook evenly
  • Set up a steamer basket or bamboo steamer with water underneath—you'll need it ready to go
  1. Fry the shallots

    • Heat ½ cup (120 ml) oil in a small 8-inch skillet over medium heat.
    • Once shimmering, add the sliced shallots in a single layer.
    • Stir occasionally, watching carefully—they will gradually turn golden, about 8–10 minutes.
    • Once they are deep golden brown and crispy (not burned), immediately transfer them to a paper towel-lined plate with a slotted spoon.
    • Reserve the oil in the skillet for drizzling over the finished xôi.
    + Show details

    Ready when: Shallots are deep golden brown and crispy, not burnt or dark brown

    Tip: Lower heat slightly if they brown too fast; burnt shallots taste bitter. Once browned, remove immediately as they continue to crisp while cooling.

  2. Cook the mung beans

    • In a large pot or wok, bring 1 cup (240 ml) water to a boil over high heat.
    • Add the drained split mung beans and a pinch of salt (about ¼ teaspoon).
    • Simmer uncovered for 12–15 minutes, stirring occasionally.
    • The beans should be tender but still hold their shape and should absorb most of the water.
    • They should look creamy and soft, not mushy.
    + Show details

    Ready when: Mung beans are soft and tender, water is mostly absorbed (a little liquid may remain)

    Tip: Don't overcook the beans—they'll fall apart when mixed with the rice. If they finish cooking before the rice is ready, remove from heat and leave uncovered to cool slightly.

  3. Toast the sticky rice

    • While the mung beans simmer, drain the soaked sticky rice and add it to a dry large pot or wok (or the same pot after removing the beans, rinsed clean).
    • Toast the rice over medium heat, stirring frequently with a wooden spoon for 2–3 minutes.
    • The rice grains will start to smell fragrant and may turn very slightly pale golden (don't let it brown).
    • This toasting step enhances the rice's flavor.
    + Show details

    Ready when: Rice is fragrant and grains are warm to touch; avoid browning

    Tip: Toasting is optional but recommended for deeper flavor. Don't toast too long or the rice will brown and taste nutty rather than mild.

  4. Combine rice, beans, and liquid

    • Add the cooked mung beans to the toasted sticky rice (or transfer both to a clean large pot if using a steamer).
    • Pour in ¾ cup (180 ml) unsweetened coconut milk and ¾ cup (180 ml) water.
    • Add 1 teaspoon (6 g) of salt.
    • Stir well to combine, breaking up any clumps of beans and ensuring the salt is distributed evenly.
    + Show details

    Tip: The mixture should look loose and wet at this stage, like thick porridge. The rice will absorb the liquid as it steams.

  5. Steam the xôi

    • Transfer the rice mixture to a steamer basket or bamboo steamer (or line your steamer with parchment to prevent grains from falling through gaps).
    • Place the steamer over a pot of boiling water, cover with the steamer lid, and steam over medium-high heat for 20–25 minutes.
    • The liquid should be completely absorbed and the rice should be glossy and tender.
    • About halfway through (at 10–12 minutes), gently stir the mixture with a fork to distribute the mung beans evenly and prevent sticking on the bottom.
    + Show details

    Ready when: All liquid is absorbed, rice grains are glossy and soft, and steam rises from the basket

    Tip: Check the water level under the steamer halfway through and add more boiling water if needed. Don't let it boil dry.

  6. Finish and serve

    • Remove the steamer from heat and let the xôi rest uncovered for 3–5 minutes to stop the cooking.
    • Transfer to a serving bowl or plate.
    • Drizzle with the reserved crispy shallot oil (about 2–3 tablespoons / 30–45 ml).
    • Top generously with the crispy fried shallots.
    • If using, sprinkle with sliced scallions and a few drops of toasted sesame oil for extra fragrance.
    • Serve warm.
    + Show details

    Tip: Crispy shallots can be made up to 2 hours ahead and stored in an airtight container; just re-warm them for 1 minute in a 300°F (150°C) oven if they soften.

  7. Variation: savory or sweet

    • This recipe is savory, but xôi can also be made slightly sweet by replacing ¼ cup of the water with a sugar simple syrup (equal parts sugar and water, cooled).
    • Add the syrup with the coconut milk.
    • Adjust salt to taste.
    • Some regional versions also add a splash of fish sauce (½ teaspoon / 2.5 ml) for umami depth.

Good to know

Tips
  • Rinsing the sticky rice thoroughly removes excess starch and prevents the cooked xôi from becoming an overly thick paste—this is the most important step for proper texture.
  • Fried shallots are key to xôi's appeal. Fresh, crispy shallots can be found in the Asian aisle of many grocery stores if you prefer not to fry them yourself; use about 3 tablespoons (30 g) total and drizzle with a little oil.
  • If your mung beans cook unevenly (some mushy, some hard), it's often because they were old or stored improperly. Buy from a source with high turnover.
  • This dish is best enjoyed warm and fresh, within a few hours of cooking, when the rice is still tender and the fried shallots are at their crispiest.
Make ahead

The fried shallots and shallot oil can be made up to 2 days ahead and stored in separate airtight containers at room temperature. The xôi is best served the day it's made, but leftovers can be refrigerated for up to 2 days and reheated gently in a steamer or by adding a splash of water and warming over low heat.

Storage & reheating

**Room temperature:** Xôi stays warm for 2–3 hours if loosely covered. **Refrigerator:** Store in an airtight container for up to 2 days. Reheat by adding a few tablespoons of water and warming gently in a steamer or over low heat in a pot, stirring occasionally, until warmed through (about 5–7 minutes). **Freezer:** Not recommended—the texture of steamed glutinous rice becomes gummy after thawing. **Crispy shallots:** Store in an airtight container at room temperature for up to 3 days. Refresh in a 300°F (150°C) oven for 1 minute if they soften.

Substitutions
  • glutinous sticky rice (also labeled sticky rice or sweet rice) → Short-grain sushi rice or arborio rice (adjust water ratio to 1 cup water + ¾ cup coconut milk, as these are less absorbent). The texture will be slightly less sticky and more risotto-like, but still delicious.
  • dried split mung beans (yellow mung beans) → Whole mung beans or adzuki beans (increase cooking time to 18–20 minutes in step 2). Whole mung beans hold their shape even better; adzuki beans are slightly sweeter.
  • unsweetened canned coconut milk → Heavy cream or whole milk diluted 1:1 with water. The dish will be less rich and less authentically Vietnamese, but still comforting.
  • neutral oil (vegetable, canola, or peanut oil) → Peanut oil or lard. Peanut oil adds a subtle nutty flavor; lard is traditional in some Vietnamese kitchens and adds richness.

More rice bowls

See all →

Find more like this

Cuisine
Vietnamese
Method
Stovetop

Reviews (0)