Nasi Uduk Jakarta: rice cooked in fragrant coconut milk

Nasi Uduk is rice cooked in fragrant coconut milk that is popular for breakfast menu. It’s traditionally from Jakarta region.

Nasi Uduk Jakarta with fried chicken, cucumber and omelette slices

Nasi Uduk

Nasi uduk is rice cooked in fragrant coconut milk. It is one of the most well-known street foods in Jakarta.

Traditionally, it is enjoyed for happy occasions such as birthday celebrations, graduation, etc. But it is also often a choice for breakfast.

This rice dish is similar to Nasi Lemak from Malaysia. And it is thought that it is where the dish originated from.

The difference is Nasi Uduk uses lemongrass and salaam leaves for flavour and fragrance. As for Nasi Lemak, it uses pandan leaves (screwpine leaves).

Just like any food recipe, there are numerous recipes of Nasi Uduk. But I find that my mom’s way of cooking gives the best result. 

Yes, I may be biased. So, please try and tell me what you think about it.

Rice, cucumber slices, fried chicken and omelette slices with overlay text

Because this recipe has been tried and tested endless times throughout the years. And the best thing about it is that her recipe is super simple.

The key is in the proportion of each ingredient.

So, here I’m sharing her secret with you. 

And to make your venture in trying this recipe even better, I include a few different methods of how to cook the rice. Because I understand that everyone has different situations, i.e. using a steamer and a rice cooker. 

Because I understand that everyone has different situations. Hopefully, this way you’ll have more options that can help you choose what best fits your circumstances.

The best way to enjoy 

Mostly, people will eat this rice cooked in coconut milk with sprinkles of egg omelette slices, some prawn crackers, some cucumber slices, and a spoon or two of spicy peanuts sauce (sambal kacang).

You can try my quickest way to make sambal kacang: put 50 gr of roasted peanuts, 2 tablespoons of sriracha sauce, and ¼ cup (60 ml) of water in a blender. Give it a blitz until the nuts are crushed and blended with other ingredients but not too smooth. 

And often, Nasi Uduk is also enjoyed with a side dish like crispy Tempeh in soy sauce, or spiced fried chicken (Ayam Goreng Bumbu), or fried chicken livers. 

The right ingredients

To make nasi uduk, you only need rice, coconut milk, saltlemongrass, and Indonesian Salam leaf.

Salam leaf and lemongrass

As for the rice, basically, you can use pretty much any type of rice. But, the real Jakartan Nasi Uduk doesn’t use the variety of rice that is high in starch like Jasmine rice.

So the rice is not sticky like long grain rice or Thai Jasmine rice. In fact, it is like Basmati rice or easy-cook rice type that when you cook, the grains don’t stick to each other. 

Therefore, I personally suggest you use either Basmati rice or easy cook rice.

You can keep your Jasmine rice for making Nasi Kuning (yellow rice).

Now, depending on where you are, you may find it hard to get Salam Leaf. Because I do. Therefore I always have to buy it online. 

If you can not find any Salam leaf, I suggest you substitute it with a mix of 3-4 curry leaves and 2 bay leaves. I find this combination gives the closest similarities in its fragrance as Salam leaf.

I understand that some people would replace it with bay leaves only. However I don’t find bay leaves alone a good substitute.

How to make nasi uduk

The simplest way to make this rice dish is by using a rice cooker. If you prefer to do so, you can just put the pre-soaked rice, coconut milk, lemongrass, Salam leaf and salt in the rice cooker. Then set the rice cooker according to its manual to cook the rice.

Although this may sound easy and very practical, I personally don’t really do it. Because the texture of the rice is not the same. The rice will go soft for my liking, and somehow it doesn’t taste the same. 

But of course, you can always do this easy way. 

Now, if you want to try the traditional and authentic way that does not use a rice cooker, then here is how.

Firstly, soak the washed and rinsed rice in plenty of water for at least an hour if you use Basmati rice. Soak longer (min 2 hours) if you use long grain rice. 

Secondly, you boil and simmer the coconut milkwater, lemongrass and Salam leaf until the coconut milk looks shiny and slightly oily. It takes me about 25-30 minutes to do it. 

rice soaked in water
1. Soak the rice
coconut milk with lemongrass and salam leaf
2. Boil the coconut milk with lemongrass and Salam leaf

Thirdly, steam the pre-soaked rice in a steamer for about 15 minutes until it is half cooked. You can try a few grains to taste. They should be a bit bitey firm.

steam the rice
3. Steam the rice
rice with lemongrass slices
4. Cook the steamed rice in coconut milk

Fourthly, cook the steamed rice in the coconut milk. Add more water and put some salt in. Cook further until all the liquid evaporates. Then turn the heat to lowest and put the lid on the pan. Let it cook and steam

cooking pot with the lid covered with a kitchen towel
5. Steam the rice
ready cooked nasi uduk
6. Ready steamed Nasi Uduk

Note, you can also put the rice back in the steamer after all the coconut milk and the water evaporates. This is the real traditional way, and it is best when you use long grain rice. 

Tips to make the best tasting Nasi Uduk

  • Don’t skip soaking the rice in the water. As this will help the grains keep their shapes and texture. 
  • Make sure you cook the coconut milk until it is shiny and you can see some oil separating from the edges. 

Storing matter

You can keep your Nasi Uduk for 4-5 days in the refrigerator/ fridge. Make sure you put it in a tight-lidded food container. 

If you want, you can also freeze the rice. It keeps well for about 2 months. Take the rice the night before you want to have/ serve it and let it thaw in the refrigerator/ fridge overnight. Then reheat the rice by steaming it. Though you can always use a microwave to reheat it, I find the best way is to steam it. So the rice won’t go dry and will stay fluffy.

More street food recipes

Thank you for reading this Nasi Uduk recipe.. I hope you are now planning to try it. When you do, please share what you think about it in the comments below.

Before you move on, don’t forget to check out my other Jakarta street food recipes that you may love.

Last but not least, please follow me on Facebook, Instagram and/or Pinterest. To sneak a peek at what’s cooking in my kitchen. 

Take care and all the best.

a plate of nasi uduk, cucumber, omelette, and fried chicken
Print Recipe Pin Recipe Save
5 from 4 votes

Nasi Uduk Jakarta

Nasi Uduk is deliciously fragrant rice cooked in coconut milk and herbs. It's originally from Jakarta and traditionally enjoyed for happy occasions and comfort breakfast.
Author: Devy Dar
Prep Time1 hour
Cook Time45 minutes
Total Time1 hour 45 minutes
Course: Breakfast & Brunch
Cuisine: Indonesian
Servings: 5


  • Mixing bowls.
  • Cooking pan
  • Wooden spoon


  • 1 ½ cups basmati rice.
  • 1 ½ cups + 2 tablespoons canned coconut milk.
  • ¾ cup water see the note.
  • 1 lemongrass sliced diagonally.
  • 1 Salam leaf see the note.
  • 1 ¼ teaspoon salt.


  • Wash and rinse the rice until the water is clear. Soak the rice in plenty of cold water for at least 1 hour.
  • In a cooking pan, boil the coconut milk, ¼ cup of water, lemongrass and Salam leaf. Let it boil and simmer until the milk turns greasy and shiny. It takes approximately 25 minutes at low heat to simmer.
  • Halfway of boiling the coconut milk, get your steamer ready. And steam the pre-soaked rice until the grains are half cooked. It takes about 10-15 minutes to cook at moderate heat.
  • Then add the steamed rice into the coconut milk. Add ½ cup of water and salt in. Cook further until all the liquid evaporates then put the lid on. Wrap the pan cover with a kitchen towel before you put on the pan. Turn the heat to the lowest and let it cook until the steam comes out. 


  • If you use long grain rice, just put ¼ cup of water when you boil the rice with coconut milk. 
  • And if you use a rice cooker, for long-grain rice you only need to put ¼ cup (80 ml) water, and for Basmati rice you put ½ cup (120 ml) water.
  • Slice the lemongrass diagonally to get the most of its fragrance.
  • In case you don’t have Salam leaf, you could substitute with a mix of 3 curry leaves and 2 bay leaves for this recipe. 


Serving: 1g | Calories: 1296kcal | Carbohydrates: 37g | Protein: 14g | Fat: 131g | Saturated Fat: 116g | Polyunsaturated Fat: 7g | Sodium: 678mg


Nutritional info in this recipe is only estimate using online calculator. You should refer to it as a guide only. Please verify with your own data if you seek an accurate info.

Author: Devy Dar

Title: Food Writer, Recipe Developer, and Digital Content Creator.


Devy Dar founded So Yummy Recipes and Drizzling Flavor to share her love of food after exploring various cultures and cuisines for more than two decades. Her mission is to help others easily recreate traditional and non-traditional food with readily available ingredients. Her works have been featured in Reader’s Digest, Al Jazeera, MSN, Yahoo, Bon Appetit, and more. 

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating