Skip to content

Nasi Uduk

Jakarta's fragrant coconut-steamed rice infused with lemongrass and pandan, served with crispy tempeh, egg, and sambal — a morning staple worth savoring.

40 minutes
Serves 4
Main
14 min prep
22 min cook

No common allergens detected

Based on this recipe's ingredient list. Always verify with your own brands and labels.

Good to know

  • One-pot

Matched from this dish's own ingredients and timing. Browse more: one-pot dinners

Instructions

6 steps
  1. 1

    Rinse the jasmine rice thoroughly until the water runs clear, then drain well.

  2. 2

    In a rice cooker, combine the washed rice, coconut milk, and water.

  3. 3

    Bury the bruised lemongrass, salam leaves, and cinnamon stick in the rice mixture.

  4. 4

    Add a generous pinch of salt and stir once to distribute the seasonings.

  5. 5

    Cook the rice using the standard setting until the liquid is fully absorbed and the rice is fluffy.

  6. 6

    Discard the whole spices and serve the fragrant rice with fried chicken, sliced omelet, and sambal kacang (peanut sambal).

Nasi Uduk — plated and served Images are for illustrative purposes only, may be inaccurate, and do not guarantee the presence or absence of specific ingredients.
Serving moment. How Nasi Uduk looks plated and ready to eat — a representative photo, not a step in the recipe.

Listahan Family Score™

68/100

Works for many families

68
Allergen-friendly 100
Kid-friendly 35
Weeknight-easy 54
Budget-friendly 86
Great leftovers 65
Pantry-friendly 58

Score reflects how well this recipe fits a typical busy household. In the app, your Family Score is personalized to your household's allergens, kids, and pantry.

Nutrition

per serving

485

Calories

8 g

Protein

81 g

Carbs

15 g

Fat

Estimated per serving. Actual values depend on the brands and portions you use.

Listahan cooking guide

Chef notes & practical guide

Technique notes, ingredient swaps, serve-alongside ideas, storage guidance, and equipment for this recipe.

Cultural context

Nasi Uduk is the beloved coconut-rice breakfast of Jakarta, specifically associated with the Betawi people — the original inhabitants of the city before Dutch colonialism remade it as Batavia. Unlike Malaysian nasi lemak, which is served with a standard set of accompaniments, nasi uduk is a blank, fragrant canvas that vendors pile with whatever the stall has — fried chicken, empal (sweet braised beef), tempeh, tofu, and always sambal kacang. Morning stalls in Jakarta open before dawn and sell out by 9 a.m., and the smell of pandan-scented coconut rice cooking in banana leaf is how many Jakartans know the day has started.

Listahan note

This version steams the rice in coconut milk infused with pandan, lemongrass, and bay leaves so the fragrance permeates every grain rather than just coating the surface.

Technique cues

  • Use pandan leaves tied into a knot rather than pandan extract — the leaves release a softer, grassier fragrance that is more nuanced than the synthetic sweetness of extract.
  • Soak the rice for 30 minutes before cooking to even out absorption; rinsed but unsoaked rice cooks unevenly in coconut milk because the starch on the exterior gelatinizes before the center is hydrated.
  • If using a rice cooker, the coconut milk will cause the rice to foam — do not fill above the 'normal' rice line and check at the halfway mark to prevent boiling over.

Kitchen flow

Parallel prep
Start the rice cooker and then prepare the fried chicken or other accompaniments while the rice cooks unsupervised.
Make-ahead
Nasi uduk keeps covered at room temperature for up to 3 hours without losing texture; reheat by steaming over a pot of boiling water for 5 minutes.
Leftover move
Cold nasi uduk is excellent fried with garlic and a touch of soy sauce for a quick fried rice that carries the coconut flavor into the next meal.
Cleanup rhythm
Coconut milk residue in a rice cooker pot must be wiped out immediately after use before it dries; it leaves a fatty film that is difficult to remove once set.

Ingredient brief

Role, handling, and swap guidance for each key ingredient.

jasmine rice

main body

Purpose: Jasmine rice has the right starch-to-water ratio for cooking in coconut milk without turning gluey, and its fragrance is complementary to the pandan and lemongrass.

Handling: Rinse three times and soak in cold water for 30 minutes before draining.

Adaptation: Long-grain basmati can substitute for a drier, less sticky result; short-grain rice will produce a much stickier texture.

coconut milk

fat and flavor base

Purpose: Coconut milk is what transforms plain rice into nasi uduk — its fat coats each grain and carries the aromatic compounds from the pandan and lemongrass throughout.

Handling: Use full-fat canned coconut milk; shake the can well before opening to recombine the fat and liquid.

Adaptation: Coconut cream thinned with water at a 1:1 ratio gives an even richer rice if full-fat milk is unavailable.

pandan leaves

signature fragrance

Purpose: Pandan is the scent that distinguishes nasi uduk from any other coconut rice — without it, the dish is coconut rice; with it, it is unmistakably Betawi.

Handling: Tie 2-3 leaves into a knot and press down into the rice during cooking to maximize fragrance infusion.

Adaptation: Three drops of pandan extract diluted in a tablespoon of water will add the flavor though with less freshness.

lemongrass

secondary aromatic

Purpose: Lemongrass adds a subtle citrusy-floral layer underneath the pandan that prevents the rice from tasting one-dimensionally sweet.

Handling: Bruise the bottom 4 inches by pressing with the flat of a knife and add to the rice whole.

Adaptation: A strip of lime zest added during cooking provides a citrusy note if lemongrass is unavailable.

Technique notes

  • The ratio of coconut milk to water matters: too much coconut milk and the rice becomes gummy and overly rich; the sweet spot is roughly half coconut milk, half water for the total liquid.
  • Add a teaspoon of salt and half a teaspoon of sugar to the cooking liquid — both are essential in nasi uduk and balance the coconut's natural sweetness.
  • Fluff the rice gently with a fork the moment it finishes cooking and remove the pandan and lemongrass before covering and resting for 5 minutes; trapping steam briefly after fluffing produces a lighter texture.

Ingredient swaps

Dairy-free option
The recipe is naturally dairy-free; coconut milk is the fat source.
Lower-fat direction
Substitute half the coconut milk with chicken or vegetable broth; the rice will be less rich but still aromatic from the pandan and lemongrass.

Serve alongside

  • Ayam goreng berempah (spiced fried chicken)
  • Empal gepuk (sweet braised beef)
  • Sambal kacang (peanut chili sauce)
  • Teh botol (bottled sweet jasmine tea)
  • Iced lemongrass tea

Serving suggestions only — check pairings for your household's allergens.

Storage & reheating

  • Store in an airtight container at room temperature for up to 4 hours or refrigerate for up to 2 days.
  • Reheat by steaming over a pot of boiling water for 5 minutes or microwave with a damp paper towel draped over the bowl to restore moisture.

Equipment

  • Rice cooker or medium saucepan with a tight-fitting lid
  • Rice paddle or fork for fluffing
  • Small kitchen twine for tying pandan leaves

Make this household-aware

Listahan Pro checks this recipe against your household's allergens, finds pantry-aware swaps, builds the shopping list, and helps you plan the week around it.

Get the app

Plan it in Listahan

Add Nasi Uduk to your week, check it against your household's allergens, and build the shopping list automatically.

More Indonesian & Malaysian recipes