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.
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, salt, lemongrass, and Indonesian Salam leaf.
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 milk, water, lemongrass and Salam leaf until the coconut milk looks shiny and slightly oily. It takes me about 25-30 minutes to do it.
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.
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.
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.
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.
- Gado-gado Jakarta.
- Lontong Sayur Betawi.
- Pangsit Ayam – Indonesian chicken wontons.
- Ketoprak Jakarta.
- Sate Ayam – Indonesian chicken satay.
- Sate Kambing – Indonesian lamb satay.
Take care and all the best.
Nasi Uduk Jakarta
- 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.
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.