This post may contain affiliate links. Please read our disclosure policy.
Vietnamese sticky rice is one of the most popular street foods in Vietnam. It consists of chewy sticky rice topped with a variety of toppings such as pickled radish and carrot, sausage, meat floss, mayo, chili paste, and fresh herbs! Let me show you how to prepare it at home!
If there is one dish that I have over and over whenever I visit Vietnam, it is Xôi Mặn. This satisfying dish features a base of sticky rice topped with plenty of savory toppings.
I have tried over 20 versions from many different restaurants in Vietnam and literally dissected each plate, taking note of all of the ingredients. After experimenting with tens of versions, changing up the toppings, and fine-tuning the rice cooking method, I’m excited to finally share my take on this Vietnamese classic!
⭐️ Why You Will Love It
A symphony of flavor and textures.
If you ever thought rice was boring, wait until you try this dish! It’s most probably the tastiest rice dish you will ever experience! The plethora of savory toppings combined with the chewiness of the sticky rice makes it a flavor bomb, and I’m not exaggerating.
First, the sticky rice is subtly sweet and chewy, then the pickles add crunch and tanginess. The vegan bologna contributes a hearty meatiness, while the cilantro and green onions add freshness. Add to that a dollop of mayo, a generous sprinkle of crispy fried onions, and a sprinkle of vegan meat floss, and you are in for a real treat!
As authentic as possible.
As I spend my time between here and Vietnam, I get the chance to test and compare my recipes to authentic dishes. If you have ever tried Xôi Mặn there, this recipe will take you back to those bustling streets, as I made it as authentic as possible. Actually, it even got my Vietnamese mother-in-law’s approval stamp, so you can be sure it’s as authentic as it gets!
By the way, don’t let the long list of ingredients fool you. This dish is actually super simple to make and incredibly versatile.
📘 What Is Xôi Mặn
Xôi mặn is a classic Vietnamese dish that consists of sticky rice served with a variety of toppings. Xôi means “cooked sticky rice,” and mặn means “salty”. It is usually sold as a street food and enjoyed for breakfast, although it can be found all day long.
There are many different types of xôi mặn depending on the toppings used; however, sticky rice remains the base.
🌾 Ingredient Notes
Disclaimer: I acknowledge that it might be difficult to source some of the ingredients below. Don’t worry if you can’t find all of them, this recipe is quite versatile. Most, if not all, of the toppings can be replaced with substitutes. Nothing is set in stone!
Sticky rice
Don’t be mistaken: sticky rice isn’t simply regular rice that’s been cooked too long. It’s actually a different variety of rice grown mainly in Asia and used in both savory and sweet dishes (for example, mango sticky rice is made with this type of rice!).
Compared to basmati rice, sticky rice has a chewier texture and a sweeter taste. Although each grain sticks to each other, they stay separated enough to create a fluffy texture.
Where to buy: Sometimes called glutinous or sweet rice, you can get sticky rice online or at your local Asian supermarket.
Soy sauce
A drizzle of soy sauce is essential to season the rice. It’s generally poured directly over the rice after cooking.
Note: For a more authentic flavor, I highly suggest using Vietnamese soy sauce from the brands Maggi or Chin-su. Bragg’s liquid aminos taste great, too.
Mayo
Spreading mayonnaise on top of the rice adds creaminess and richness. It’s not a must, but I believe it really takes the whole dish to another level. You can use homemade vegan mayo or a store-bought one.
Bologna
Bologna (chả lụa in Vietnamese) is a common topping for savory sticky rice. It adds meatiness and protein. In this plant-based version, I use my vegan bologna sliced into thin strips.
Substitute: Feel free to use your favorite plant-based protein. Sautéed seitan, tofu, marinated vegan chicken, or vegan frankfurters are great substitutes!
Pickles
Radish and carrot pickles are also a popular addition, bringing some crunch and tanginess. You can check my Vietnamese pickles recipe here. It’s super simple to prepare, and you can use the pickles in other recipes such as bánh mì, bánh xèo, rice bowls, etc.
Preserved radish
Known as “củ cải muối” or “xá bấu” in Vietnamese, preserved radish is not a traditional topping, but it has grown in popularity over the last few years. Each bite packs an interesting crunchiness with a hint of sweetness!
Note: This is not to be confused with Korean pickled radish, which is a radish that has been pickled and dyed with a vibrant yellow color. Preserved radish is simply daikon radish that has been salted and sun-dried for several days.
Where to buy: You can buy preserved radish online or in well-stocked Asian supermarkets. It is typically sold in the condiment section and can be found either whole, sliced into strips, or chopped into chunks.
Meat floss
Vegan meat floss is totally optional, but it adds meatiness and makes the whole dish look more interesting.
Where to find it: You can find vegan meat floss in Asian supermarkets. Note that not all supermarkets have it in stock, and you may have to ask them if they can order it for you. Otherwise, check online or make it yourself by following my meat floss recipe here!
Chili paste
If you like a touch of spiciness, you can serve this dish with chili paste or chopped chili.
Substitute: Use your favorite chili paste, chili oil, or chili sauce!
Fresh herbs
I use sautéed green onions and fresh cilantro as a topping to add plenty of freshness. Do not omit the green onions, as they add a ton of flavor to this dish!
🥣 How to Make It
1. Cook the rice
There are many ways to cook sticky rice, but my preferred way is to use a steamer. It yields sticky rice that is perfectly tender and fluffy every time. Plus, as opposed to pressure cooking methods, it’s fast and easy to check the doneness of the rice.
- Rinse the rice. Add the rice to a small bowl and cover it with water. Stir using your hands to rinse it – the water will turn cloudy as the rice releases some starch. Strain it using a fine-mesh colander. Repeat the process until the water is almost clear.
Why should I rinse the rice?
It’s important to rinse the rice a few times with cold water to get rid of the starch present on the outside of the grains. This step will ensure that the grains stay separated after cooking, creating a fluffier texture.
- Soak it. Transfer the rice back into the bowl and cover with cold water (about 1 inch above the top of the rice is enough – the rice won’t expand during soaking). Cover the bowl with plastic wrap and allow the rice to soak for at least 6 hours, preferably overnight.
- Assemble a steamer. Pick a deep pot that can fit under your bamboo steamer basket. Fill the pot with about 2 cups of water and bring it to a boil. Line the bamboo steamer basket with a damp cheesecloth that just slightly overhangs the sides of the basket (you don’t want it to catch the flames).
- Steam the rice. Drain the soaked rice and transfer it to the lined bamboo basket. Spread the rice into an even layer. Place the bamboo basket over the pot of boiling water and steam for about 25 minutes, stirring once halfway through steaming. Note: I cook mine for 25 minutes as I prefer soft sticky rice, but if you like a more chewy texture, steaming for 20 minutes should be enough. While the rice is steaming, prepare the toppings (see below).
Instant Pot Method
For those of you who don’t own a steamer or want to save time, I have tried another cooking method that consists of using the Instant Pot pressure cooking function. This method requires only a 20-minute soaking step. The result is sticky rice that’s about 95% as tasty as what you’d achieve with traditional steaming. Here is the process:
- Soak it. After rinsing the rice, transfer it to a heat-safe bowl. Bring about 2 cups of water to a boil. Once boiling, pour the water into the bowl containing the rice and let it rest for 20 minutes.
- Pressure cook it. Strain the rice and put it back into the heat-safe bowl. Cover the rice with 1/4 cup of water and stir to combine. Fill the Instant Pot liner with 2 cups of water. Add the steamer rack and place the bowl containing the rice on top of the rack. Close the lid and set the valve to the Seal position. Press the “Pressure Cook” button and set the time to 14 minutes. It will take a few minutes for the Instant Pot to start.
- Release the pressure. After 14 minutes, wait 5 more minutes before releasing the pressure manually. Carefully remove the bowl of sticky rice from the Instant Pot and let it cool for a few minutes.
2. Prepare the toppings
Rehydrate the preserved radish.
It’s important to soak the preserved radish for a few minutes to reduce its saltiness. Otherwise, it’s overly salty. Here is how to do it:
- Soak it. Add the preserved radish to a small bowl and cover with cold water. Allow the radish to soak for 30 minutes. Next, drain it and squeeze it to remove the extra moisture. Set aside.
Sauté the green onions.
- Sauté. Heat a tablespoon of oil in a pan over medium heat. Once hot, add the chopped green onions and cook for 30 seconds. Remove from the heat and set aside.
Tip: Don’t discard the green onions infused oil! Drizzle it over the rice later to add flavor.
3. Assemble
- Divide the rice. Once the rice is cooked, divide it between two serving plates. Drizzle about 1 teaspoon of soy sauce over each plate of rice.
- Add the mayo. Evenly spread a tablespoon of mayo on top of the rice. At this point, you can also add vegan pâté and/or chili paste or chili sauce if you want it spicy.
- Add the vegetables. Next, add the preserved radish and a few radish and carrot pickles on top of the sticky rice.
- Garnish. Finally, add the sliced vegan bologna, fried onions, vegan meat floss, sautéed green onions, and cilantro.
- Enjoy immediately while the rice is still hot!
📔 Tips
Make the toppings ahead of time.
You can prepare most of the toppings the day before or even a few days before, as they keep well in the refrigerator. This way, you only have to cook the rice you plan on serving this dish.
Ensure your toppings are at room temperature.
Since this dish is best served hot, I recommend taking out all of your toppings, including the mayo, at least 30 minutes before cooking the rice. If your toppings are cold, they will cause the rice to cool down quickly.
🔥 Variations
Xôi mặn is a versatile dish that can be easily customized by changing the toppings. Here are some suggestions:
- Paté: Mix equal amounts of mayo and vegan paté before spreading it on top of the rice.
- Vegan ribs: Make it meatier by incorporating thinly sliced vegan char siu ribs!
- Mushrooms: Sauté oyster mushrooms and season them with a splash of soy sauce before adding them to the rice.
- Roasted peanuts: Sprinkle crushed peanuts on top for extra crunch and nuttiness.
❄️ Storing
- To store: This dish is best served immediately. Hence, I do not recommend making it ahead of time – the rice would harden, and the texture would be unpleasant.
💬 FAQ
Soaking the rice overnight is essential if you plan to steam it. Otherwise, check out the Instant Pot method, which requires soaking for only 20 minutes.
After the recommended steaming time, open the lid of your steamer and give the rice a taste. The grains should be soft, a bit chewy, and have a translucent appearance.
You can…but then it won’t be authentic, as sticky rice is the main ingredient here.
From tangy pickles to meaty bologna, crispy fried onions, and chewy rice, this Vietnamese dish is loaded with a mix of flavors and textures! It’s a delicious and cozy dish that you should definitely try!
⭐️ Did you like this recipe? Let us know in the comments below, and tag us on Facebook, Instagram, or Pinterest!
Want to Save This Recipe?
Enter your email below & we’ll send it straight to your inbox! Plus, you will receive new recipes every week!
I’d like to receive more tips & recipes from Full of Plants.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Vietnamese Sticky Rice (Xôi Mặn)
Ingredients
- 2/3 cup uncooked sticky rice
- 1/3 cup preserved radish
- 1 tbsp oil
- 1/4 cup chopped green onions
- 2 tsp soy sauce
- 2 tbsp vegan mayo
- 1/4 cup radish and carrot pickles
- 1/2 cup thinly sliced vegan bologna (or sautéed tofu, seitan, vegan chicken, etc), cut into thin slices
- 2 tbsp fried onions
- 1/4 cup vegan meat floss (optional)
- 1/4 cup loosely packed fresh cilantro
Instructions
- Note: Remember that this recipe requires soaking the rice one day before steaming.
Cook the rice
- Rinse the rice. Add the rice to a small bowl and cover it with water. Stir using your hands to rinse it – the water will turn cloudy as the rice releases some starch. Strain it using a fine-mesh colander. Repeat the process until the water is almost clear.
- Soak it. Transfer the rice back into the bowl and cover with cold water (about 1 inch above the top of the rice is enough – the rice won’t expand during soaking). Cover the bowl with plastic wrap and allow the rice to soak for at least 6 hours, preferably overnight.
- Assemble a steamer. Pick a deep pot that can fit under your bamboo steamer basket. Fill the pot with about 2 cups of water and bring it to a boil. Line the bamboo steamer basket with a damp cheesecloth that just slightly overhangs the sides of the basket (you don’t want it to catch the flames).
- Steam the rice. Drain the soaked rice and transfer it to the lined bamboo basket. Spread the rice into an even layer. Place the bamboo basket over the pot of boiling water and steam for about 25 minutes, stirring once halfway through steaming. Note: I cook mine for 25 minutes as I prefer soft sticky rice, but if you like a more chewy texture, steaming for 20 minutes should be enough. While the rice is steaming, prepare the toppings (see below).
Prepare the toppings
- Rehydrate the preserved radish: Add the preserved radish to a small bowl and cover it with cold water. Allow the radish to soak for 30 minutes. Next, drain it and squeeze it to remove the extra moisture. Set aside.
- Sauté the green onions: Heat a tablespoon of oil in a pan over medium heat. Once hot, add the chopped green onions and cook for 30 seconds. Remove from the heat and set aside.Tip: Don’t discard the green onions infused oil! Drizzle it over the rice later to add flavor.
Assemble
- Divide the rice. Once the rice is cooked, divide it between two serving plates. Drizzle about 1 teaspoon of soy sauce over each plate of rice.
- Add the mayo. Evenly spread a tablespoon of mayo on top of the rice. At this point, you can also add vegan pâté and/or chili paste or chili sauce if you want it spicy.
- Add the vegetables. Next, add the preserved radish and a few radish and carrot pickles on top of the sticky rice.
- Garnish. Finally, add the sliced vegan bologna, fried onions, vegan meat floss, sautéed green onions, and cilantro. Enjoy immediately while the rice is still hot!
Notes
Make the toppings ahead of time.
You can prepare most of the toppings the day before or even a few days before, as they keep well in the refrigerator. This way, you only have to cook the rice you plan on serving this dish.Ensure your toppings are at room temperature.
Since this dish is best served hot, I recommend taking out all of your toppings, including the mayo, at least 30 minutes before cooking the rice. If your toppings are cold, they will cause the rice to cool down quickly.Nutrition
Note
This recipe was first released in November 2020 and updated with new process shots and detailed instructions in December 2024. You can find the original photos below.
About the Author
Thomas Pagot is the founder, photographer, and recipe developer behind Full of Plants. He created the blog in 2016 as a personal cookbook for vegan recipes. Through years of recipe development, Thomas has successfully grown Full of Plants into a trusted resource for plant-based recipes.
Leave a Comment
Followed this recipe, and despite not a big fan of rice, I am now. It turned out perfectly and was easy to make! Thanks.
Hi Thomas,
are champignons good for this recipe? Also, how can I substitute the daikon root, please? Thank you!
Hi Anna,
What do you mean by mushrooms? Regarding the daikon, there is no real substitute, just omit if you want.
Making this again tonight! I use regular red radishes when I can’t find daikon. They are small, but still nice flavor and crunch.
Sounds great Bev! It have never tried using regular radishes for pickles but I’m sure it tastes delicious as well!
Wow! Another incredibly flavorful recipe, Thomas! Thank you! Vietnamese food is SOOO good! So many different flavors and textures happening at ones.
I don’t have glutinous rice, but I do have glutinous rice flour. I had medium grain brown rice, and when it was almost done, I sprinkled about a tablespoon of the flour over the top and stirred it in. The grains all held together perfectly.
I made the pate and pickles earlier in the day, and used a Gardein brand of breaded chik’n, cut up, for the added “meat.” Although there was some prep that took some time, at dinner time, it all came together quickly. So delicious!! This is a keeper…along with the pate, which we will enjoy for several days. I’d never baked anything in a jar before. Perfect! Now I think I’ll order that “meat floss” as I will definitely make this again!
You were fast Bev! Thanks for your great feedback, I’m happy to hear you liked this sticky rice dish.
Yes, it requires to make a few things ahead of time, here is a quick tip for the paté: Steam it for 20 minutes in a bamboo basket instead of baking, it will result in a softer texture that is perfect to spread on sticky rice 😉
Meat floss adds meatiness and saltiness to the dish, you should try it!