*This post may contain affiliate links. Read more »
The aroma of coconut and lemongrass wafts through the air, transporting you to a dreamy, tropical paradise. You're walking down a winding alley in Jakarta, the capital city of Indonesia, and it's not all all uncommon to get hit with the intoxicating aroma of Nasi Uduk Betawi.


Enter your email & I'll send it to your inbox. Plus, get great new recipes from me every week!
By submitting this form, you consent to receive emails from Cinnamon Snail.
This is the ultimate Indonesian coconut rice. It can be enjoyed by everyone, regardless of dietary restrictions, because it’s 100% vegan and gluten-free. It makes the perfect bed for all your Indonesian favorites like tahu goreng, sambal goreng, as well as simple spicy sambals like sambal dabu dabu and sambal matah.
You take your first bite, and it's a revelation. The rice is creamy and decadent, with a subtle sweetness from the coconut milk. The toppings add a burst of flavor and texture, from the crispy tempeh to the tangy sambal. You close your eyes and savor each bite, transported to a mystical realm of pure bliss.
Jump to:
- 🥰Why you'll adore this nasi uduk recipe
- 🤷♀️ What is Nasi Uduk?
- 🍚 Ingredients for Indonesian Coconut Rice
- 🤯Variations
- 📖 How to make this Nasi Uduk recipe:
- 💡Serving Ideas
- 👉Top tips for nailing this nasi uduk recipe
- 🤷♀️FAQ
- ✌️What to serve with this Indonesian coconut rice:
- Nasi Uduk Betawi (Indonesian coconut rice)
🥰Why you'll adore this nasi uduk recipe
More Flavorful than a Suitcase Full of Lemongrass: This Indonesian-style steamed rice is known for its bold and vibrant flavors. Even without the meat and gluten, this vegan version is packed with flavor from the coconut, lemongrass, and a variety of fresh herbs and subtle, aromatic spices.
Easy Rice Preparation: This recipe can be made in a rice cooker, making it even easier to prepare. Simply add the rice and coconut milk mixture to the rice cooker and let it do its magic while you prepare the toppings.
✅Tested and Approved Worldwide: Like all the vegan recipes on my blog, this rice has been meticulously fine-tuned not only by me but by a team of dedicated recipe testers around the world, including in Indonesia where the dish is from. No matter where you are on the planet, rest assured it's been tested to work everywhere!


Warning: This Will Transform Your Vegan Indo Cooking!
This 6-day plant-based deep dive into the vibrant cuisine of Indonesia is 100% FREE.
🤷♀️ What is Nasi Uduk?
Nasi Uduk Betawi is a traditional Indonesian rice dish that originated in Jakarta, the capital city of Indonesia. The dish is believed to have been created by the Betawi people, an ethnic group native to Jakarta, who were known for their rich culinary heritage and unique blend of Indonesian, Chinese, and Indian influences.
The name "nasi uduk" translates to "mixed rice" in Indonesian and refers to the dish's unique preparation method. The rice is cooked with coconut milk, lemongrass, and other aromatics to infuse it with flavor and then mixed with various toppings and side dishes.
Nasi Uduk Betawi is typically served as a breakfast or brunch dish and is often sold by street vendors and at traditional markets throughout Jakarta. It is a popular and beloved dish, which I would considder to be part of Indonesia's holy trinity of rice dishes along with nasi manyak and nasi kunyit.
Over time, the dish has evolved and been adapted to suit different tastes and dietary restrictions. This vegan and gluten-free version of Nasi Uduk Betawi is just one example of how this classic Indonesian dish can be customized and enjoyed by people all over the world.
There is an extremely similar dish in Malaysia and Singapore called Nasi Lemak. It often includes the same ingredients as this recipe, but is typically served with different sides and toppings, such as fried shallots and anchovies. (please spare the poor baby fishies and don't do that...)
🍚 Ingredients for Indonesian Coconut Rice

Rice
You can use white or brown rice, but jasmine rice adds a fragrant, slightly sweet flavor that complements the creamy coconut milk. In Bali, rice is called "beras," while in Indonesian, it's "nasi."
Pandan
Pandan adds a sweet, aromatic flavor to this vegan, gluten-free Nasi Uduk Betawi and is also used in kuih dadar, klepon, and lontong. Tie fresh or frozen pandan leaves into knots and cook them with the rice for authentic flavor—avoid using pandan extract or paste, as they often contain artificial ingredients. In Indonesian, pandan is called "daun pandan," and in Balinese, it's "suji."
Galangal
This gnarly root delivers a spicy, sweet, citrusy flavor and fills your kitchen with its aromatic scent. Known as "laos" in Balinese and "lengkuas" in Indonesian, galangal can be found fresh at Asian grocery stores or dried online, though the dried version is milder.
Lemongrass
Fresh lemongrass ("sere" in Balinese and Indonesian) adds a citrusy, herbal flavor to a lot of vegan Indonesian recipes like tempe mendoan and sambal goreng kentang. If fresh isn’t available, dried lemongrass, lemon zest, or a few drops of lemongrass essential oil can be used. If you use it, go super light with the lemongrass oil as it can be sorta insanely potent.

Indonesian bay leaves
Indonesian bay leaves ("daun salam" in Indonesian, "daun pandan wangi" in Balinese) add a sweet, herbal flavor to Nasi Uduk, and they are also essential for making sayur lodeh. If unavailable, you can substitute dried bay or curry leaves, though the flavor will differ, or leave them out—the dish will still be delicious.
Coconut milk
Canned coconut milk is the cornerstone ingredient in this recipe, providing a rich and creamy base for the dish. When choosing coconut milk, it's important to look for a high-quality, ideally full-fat (not “light”) variety that doesn't contain any additives or artificial preservatives. Avoid coconut milk that contains added sugar, thickeners, or artificial flavors, as these affect the flavor and texture of the dish. Don’t use “cream of coconut” which is some straight-up garbage only good for making the type of piña coladas you would serve to your worst enemy!
See the recipe card at the bottom of this page for the complete list of ingredients and their quantities.
🤯Variations
There are many interesting vegan variations of Nasi Uduk Betawi that you can try at home! Here are a few ideas to get you started:
Purple Indonesian Coconut Rice:
Use purple or black rice in the recipe for a beautiful, hearty, and unique version.
Nasi Uduk with Vegan Meats:
There are a variety of vegan meat substitutes on the market that can be used in place of traditional meat in the recipe. These vegan sausage, char grilled beancurd, and some of my yummy vegan chicken recipe grilled in a little chili garlic sauce!
📖 How to make this Nasi Uduk recipe:
You wanna see how this perfectly aromatic Indonesian coconut rice gets made? I will walk you through the easy, delicious-smelling process. Or you can follow along with the easy-to-print recipe card towards the bottom of this page.

Step 1
Start by rinsing the rice in a fine mesh strainer until the water runs clear. Soak the rice in a large bowl of water for 30 minutes before draining.

Step 2
In a medium-sized pot, combine the drained rice with canned coconut milk, water, lemongrass stalk (bruised with the back of a knife), pandan leaves, Indonesian bay leaves, galangal slices, ginger, coriander powder, salt, and optional star anise. Stir everything together until well combined.


Step 3
Bring the mixture to a boil over medium heat, then reduce the heat to low and cover the pot with a tight-fitting lid. Cook the rice for 15-18 minutes or until the liquid has been fully absorbed and the rice is tender. If you are using a different kind of rice, such as brown or black rice, it will take longer than if using white or jasmine rice.
After the rice is cooked, remove the pot from the heat and let it sit covered for an additional 5 minutes to allow the flavors to meld and the rice to steam.

Step 4
While the rice is steaming, toast the peanuts. Heat the olive oil in a small pan over medium heat, then add the peanuts and toss to coat. Cook the peanuts for 3-4 minutes, stirring frequently, until they are lightly toasted and fragrant.
Once they are golden, drizzle with kecap manis, and continue to sauté for about 60 seconds until the sauce has caramelized.
To serve, fluff the rice with a fork and remove the lemongrass stalk, pandan leaves, Indonesian bay leaves, galangal slices, and optional star anise.
If desired, mold the coconut milk rice into a cone shape, or round shape. Top the rice with the toasted peanuts, and serve with some of this killer Thai eggplant recipe!
💡Serving Ideas
This rice is amazing served alongside the other Indonesian classics found on my blog such as Mie Goreng, or Bami Goreng. It’s also terrific, albeit non-traditional, topped with crispy tofu sisig (a dish from the Philippines), or tofu katsu (from Japan). A lot of stalls in Indonesia serve nasi uduk with sliced cucumbers, and I often serve it with spicy Korean cucumber salad, because heck, I am always down for more flavor rather than less!

You can totally use this rice to serve your favey Indian dishes with. Top it with some dal tadka, coconut milk gourd curry, dry bhindi, or saag aloo. You will not be mad 100%.
👉Top tips for nailing this nasi uduk recipe
Making this Indonesian coconut rice recipe in a rice cooker:
When cooking rice in a rice cooker, the amount of water needed is typically less than when cooking on a stovetop. This is because rice cookers are designed to automatically adjust the cooking time and temperature to achieve perfectly cooked rice with minimal effort. Additionally, rice cookers are more efficient at trapping steam, which helps to cook the rice evenly and retain its moisture. It's important to follow the manufacturer's instructions and use the correct amount of liquid (water plus coconut milk) for the type and amount of rice being cooked.
Dealing with pandan:
Be gentle when stirring the rice with pandan leaves to avoid breaking them, which can result in the leaves releasing their color and flavor too quickly. You want to infuse the rice with the fragrance of pandan slowly and evenly throughout the cooking process.
🤷♀️FAQ
Nasi uduk can be made vegan by following my recipe, which uses only plant-based ingredients. Traditionally, the dish includes meat or fish as a side, but these are not essential ingredients.
The main ingredients of nasi uduk, such as rice, coconut milk, and spices, are all vegan. Some recipes call for using chicken stock as part of the cooking liquid or adding shrimp paste or fish sauce, which are not vegan.
❄️To refrigerate leftover Nasi Uduk
Let it cool down to room temperature before transferring it to an airtight container. You can keep it in the refrigerator for up to four days.
🔥For stovetop reheating
Add a splash of water or coconut milk to the rice to prevent it from drying out. Heat over medium heat, stirring occasionally until heated through.
☢️For microwave reheating
Transfer the rice to a microwave-safe container. Cover with a microwave-safe lid or damp paper towel and microwave on high for 1-2 minutes. Stir the rice and microwave for an additional 30 seconds to 1 minute, or until heated through.
In Indonesia, the cone-shaped serving of nasi uduk is a traditional and visually striking way of presenting the dish. To achieve the cone shape, a small portion of cooked rice is placed onto a banana leaf or other pliable material such as parchment paper or foil. The rice is then shaped into a compact cone using the hands or a mold. The cone is often topped with a garnish such as fried shallots, sliced cucumber, or sliced tomato. This method of serving is not only aesthetically pleasing but also helps to keep the rice moist and warm.
To mold the rice into the traditional cone shape:
Wet your hands with cold water to prevent the rice from sticking to your fingers.
Take a small amount of rice and press it firmly into a cone shape.
Use your hands to shape the cone and smooth out any bumps or unevenness.
Repeat with the remaining rice until you have formed all the cones you desire.
To mold the rice into other shapes using a small round cup or ramekin:
Wet the inside of the cup or ramekin with cold water to prevent the rice from sticking.
Take a small amount of rice and press it firmly into the cup or ramekin.
Use your fingers to press the rice into the edges and corners of the cup or ramekin.
Invert the cup or ramekin onto a plate and gently tap the bottom to release the molded rice.
Some traditional Nasi Uduk Betawi recipes contain ingredients that are not vegan, such as:
Ayam: The dish often uses chicken (a.k.a. ayam), beef or eggs as a topping or side dish.
Shrimp paste: Shrimp paste, or terasi in Indonesian, is a common ingredient in Indonesian cuisine, including Nasi Uduk Betawi. However, it is not vegan as it is made from fermented shrimp.
Koya (dried shrimp flakes): Koya is a traditional topping for Nasi Uduk Betawi, made by drying and grinding small shrimp. It is not vegan-friendly.
Sweet soy sauce: Sweet soy sauce, or kecap manis in Indonesian, is a common condiment used in Nasi Uduk Betawi. While soy sauce itself is vegan, some commercial brands contain fish. Either follow my Kecap manis recipe if you want to use it or use the ABC brand.
✌️What to serve with this Indonesian coconut rice:

Nasi Uduk Betawi (Indonesian coconut rice)
Ingredients
- 2 cups jasmine rice
- 13.5 oz. coconut milk
- 1 ⅓ cups water
- 1 full stalk lemongrass dry external leaves and tips removed
- 2 pandan leaves fresh, or frozen and thawed
- 4 Indonesian bay leaves fresh, or dried
- 3 thin slices of galangal
- 2 thin slices of fresh ginger
- 1 teaspoon coriander powder
- ½ teaspoon salt
- Optional: 1 full star anise
For serving:
- ½ teaspoon olive oil
- ⅓ cup dry roasted peanuts
- 1 teaspoon kecap manis or plain tamari
Instructions
- Rinse the rice in a fine mesh strainer until the water runs clear. Transfer the rice to a large bowl and cover with water. Soak for 30 minutes, then drain the rice.
- In a medium-sized pot, combine the drained rice, canned coconut milk, water, lemongrass stalk (bruised with the back of a knife and cut into pieces that fit inside your pot), pandan leaves, Indonesian bay leaves, galangal slices, coriander powder, salt, and optional star anise. Stir well to combine.
- Place the pot over medium heat and bring the mixture to a boil. Once the liquid is boiling, reduce the heat to low and cover the pot with a tight-fitting lid.
- Simmer the rice for 15-18 minutes, or until the liquid has been fully absorbed and the rice is tender.
- Once the rice is cooked, remove the pot from the heat and let it sit covered for an additional 5 minutes to allow the flavors to meld and the rice to steam.
- While the rice is steaming, prepare the peanuts. In a small pan, heat the olive oil over medium heat. Add the peanuts and toss to coat. Cook the peanuts for 3-4 minutes, stirring frequently, until they are lightly toasted and fragrant.
- Once the peanuts are lightly golden brown, stir in the kecap manis (or tamari) and continue cooking for about 40 seconds until the peanuts are coated in the sauce.
- To serve, fluff the rice with a fork and remove the lemongrass stalk, pandan leaves, Indonesian bay leaves, galangal slices, and optional star anise. Top the rice with the toasted peanuts.
Notes
- Be careful not to break the pandan leaves when stirring the rice, as this can cause them to release their color and flavor too quickly.
- If you don't have a lemongrass stalk, you can use a tablespoon of lemongrass paste instead.
- Be sure to use a tight-fitting lid to prevent steam from escaping during the cooking process, which will help ensure that the rice is cooked evenly and perfectly.
- For the rice cooker method, simply combine all of the ingredients (except for the peanuts and olive oil) in the rice cooker, stir well, and cook according to the manufacturer's instructions.

Enter your email & I'll send it to your inbox. Plus, get great new recipes from me every week!
By submitting this form, you consent to receive emails from Cinnamon Snail.
HG says
Great as a side dish, but I could eat this alone as a meal. Subtle coconut flavor with a real creamy feel to it, something that is usually lacking in vegan cooking. Leftovers heat up well too.