Skip to content

Nasi Liwet: A Fragrant Indonesian One-Pot Rice Delight

Nasi Liwet

Nasi Liwet is a traditional Javanese dish from Solo (Surakarta), Central Java, known for its aromatic, savory rice cooked in coconut milk and spices, often prepared in a single pot for a communal meal. This comforting dish is infused with flavors of lemongrass, bay leaves, and shallots, and is typically enriched with salted fish, chicken, or eggs, making it a hearty and flavorful meal. Nasi Liwet is often served with a side of spicy sambal, fresh vegetables, and kerupuk (crackers), and is a popular choice for family gatherings or festive occasions. Its simplicity and depth of flavor make it a beloved staple in Indonesian cuisine. Let’s dive into this aromatic one-pot recipe!


Ingredients (Serves 4-6)

For the Nasi Liwet (Rice)

  • 500g (2.5 cups) jasmine rice or long-grain rice
  • 600ml (2.5 cups) coconut milk (fresh or canned, diluted with water if thick)
  • 400ml (1.5 cups) chicken broth (or water for a lighter flavor)
  • 2 stalks lemongrass, bruised and tied into knots
  • 3 bay leaves
  • 3 kaffir lime leaves
  • 1 teaspoon salt (adjust to taste)
  • 2 tablespoons vegetable oil

For the Spice Paste (Bumbu)

  • 6 shallots (or 1 medium red onion)
  • 4 cloves garlic
  • 2 cm fresh ginger
  • 1 teaspoon coriander seeds, toasted
  • 1/2 teaspoon white peppercorns, toasted

For the Toppings and Accompaniments

  • 200g chicken breast or thigh, cut into bite-sized pieces (optional)
  • 100g salted fish (e.g., anchovies or ikan teri, soaked in water for 10 minutes to reduce saltiness, then drained)
  • 4 hard-boiled eggs, peeled and halved
  • 1 medium chayote (labu siam), peeled and cut into matchsticks (optional, for added texture)
  • 1/4 cup fried shallots (store-bought or homemade)
  • Sambal oelek or sambal terasi (shrimp paste chili sauce)
  • Sliced cucumber and tomato (for freshness)
  • Kerupuk (Indonesian crackers, preferably prawn crackers)

Equipment

  • Large pot or Dutch oven with lid (for cooking rice)
  • Mortar and pestle or food processor (for spice paste)
  • Small frying pan (for frying shallots and salted fish)
  • Saucepan (for boiling eggs)
  • Sharp knife and cutting board
  • Serving platter or plates

Step-by-Step Recipe

Step 1: Prepare the Ingredients

Let’s start by prepping all the components to ensure a smooth cooking process.

  1. Rinse the Rice: Place the jasmine rice in a large bowl and rinse under cold water until the water runs clear (about 3-4 rinses). This removes excess starch and prevents the rice from becoming too sticky. Drain well.
  2. Soak the Salted Fish: Place the salted fish (e.g., ikan teri) in a bowl of water and soak for 10 minutes to reduce its saltiness. Drain and pat dry with paper towels. Set aside.
  3. Boil the Eggs: Place eggs in a saucepan, cover with water, and bring to a boil. Cook for 10 minutes, then transfer to an ice bath to cool. Peel and halve the eggs. Set aside.
  4. Prep the Chayote (Optional): If using chayote, peel and cut into matchsticks. Blanch in boiling water for 2 minutes, then drain and set aside.

Pro Tip: If you don’t have salted fish, you can substitute with fried anchovies or skip it for a lighter version. The fish adds a savory, umami depth to the dish.

Step 2: Make the Spice Paste (Bumbu)

The spice paste is the flavor base for Nasi Liwet, giving the rice its aromatic profile.

  1. Toast the Spices: In a small frying pan over medium heat, dry-toast the coriander seeds and white peppercorns for 1-2 minutes until fragrant, shaking the pan to prevent burning. Set aside to cool.
  2. Blend the Paste: In a mortar and pestle or food processor, combine shallots, garlic, ginger, toasted coriander seeds, and white peppercorns. Blend into a smooth paste, adding 1-2 tablespoons of water if needed to help it come together.
  3. Sauté the Paste: Heat 2 tablespoons of vegetable oil in a large pot or Dutch oven over medium heat. Add the spice paste and sauté for 4-5 minutes, stirring constantly, until fragrant and slightly golden. The kitchen should smell amazing!

Pro Tip: Toasting the coriander and peppercorns enhances their flavor, giving the rice a deeper, more aromatic profile. Don’t skip this step!

Step 3: Cook the Chicken (Optional)

If including chicken, let’s cook it with the spice paste to infuse it with flavor.

  1. Add the Chicken: Add the chicken pieces to the pot with the sautéed spice paste. Stir to coat the chicken evenly and cook for 5-7 minutes, until the chicken is lightly browned and partially cooked.
  2. Set Aside (Optional): If you prefer the chicken to be a topping rather than mixed into the rice, remove it from the pot and set aside. You can finish cooking it later by frying or grilling.

Pro Tip: For a vegetarian version, skip the chicken and salted fish, and add more vegetables like chayote, carrots, or tempeh for texture.

Step 4: Cook the Nasi Liwet

Now, let’s cook the rice in the same pot, absorbing all the flavors from the spice paste and aromatics.

  1. Add Aromatics: To the pot with the spice paste (and chicken, if still in the pot), add the lemongrass, bay leaves, and kaffir lime leaves. Stir for 1 minute to release their aromas.
  2. Add Rice and Liquids: Add the rinsed rice, coconut milk, chicken broth (or water), and salt. Stir gently to combine, ensuring the rice is evenly coated with the spice mixture and liquid.
  3. Bring to a Boil: Bring the mixture to a boil over medium heat, stirring occasionally to prevent the rice from sticking to the bottom of the pot.
  4. Simmer the Rice: Once boiling, reduce the heat to low, cover the pot, and simmer for 15-20 minutes, or until the rice is fully cooked and the liquid is absorbed. Check occasionally—if the rice looks dry but isn’t cooked, add a splash of water (1-2 tablespoons) and continue cooking.
  5. Rest the Rice: Once cooked, remove the pot from the heat and let the rice sit, covered, for 5-10 minutes to steam and fluff up. Discard the lemongrass, bay leaves, and kaffir lime leaves.

Pro Tip: If the coconut milk is very thick, dilute it with a bit more broth or water (e.g., 400ml coconut milk + 200ml additional liquid) to ensure the rice cooks evenly without becoming too creamy.

Step 5: Prepare the Toppings

While the rice cooks, let’s prepare the toppings to add texture and flavor to the dish.

  1. Fry the Salted Fish: In a small frying pan, heat 2 tablespoons of vegetable oil over medium heat. Fry the soaked and drained salted fish for 2-3 minutes until crispy and golden. Drain on paper towels.
  2. Make Fried Shallots (Optional): If not using store-bought, thinly slice 2-3 shallots. Heat 1/4 cup vegetable oil in a small frying pan over medium heat. Fry the shallots for 5-7 minutes until golden and crispy, stirring frequently to avoid burning. Drain on paper towels.
  3. Prep Fresh Vegetables: Slice cucumber and tomato into thin rounds for a fresh, crunchy side.

Pro Tip: The salted fish should be crispy but not overly salty after soaking. Taste a piece before frying—if it’s still too salty, soak for another 5 minutes.

Step 6: Assemble and Serve

Let’s bring Nasi Liwet to the table in true Javanese style, perfect for sharing.

  1. Fluff the Rice: Gently fluff the cooked rice with a fork to separate the grains. If the chicken was cooked in the pot, it should be tender and well-mixed with the rice.
  2. Plate the Rice: Scoop the rice onto a large serving platter or individual plates. If you set the chicken aside earlier, place the pieces on top of the rice now.
  3. Add Toppings: Sprinkle the fried salted fish and fried shallots over the rice for crunch. If using chayote, scatter the blanched matchsticks on top. Place 1-2 halves of hard-boiled eggs on each plate.
  4. Serve with Accompaniments: Serve with sliced cucumber and tomato on the side for freshness. Add a small bowl of sambal oelek or sambal terasi for a spicy kick, and include kerupuk (Indonesian crackers) for extra texture.

Serving Tip: Nasi Liwet is best enjoyed family-style, with everyone digging into the platter and mixing the rice with the sambal and sides. The combination of fragrant rice, crispy toppings, and spicy sambal is irresistible!


Tips for Success

  • Rice Texture: Nasi Liwet should be fluffy but slightly sticky due to the coconut milk. Rinsing the rice thoroughly and using the right liquid ratio ensures the grains don’t clump too much.
  • Coconut Milk: If using canned coconut milk, shake the can well before measuring to combine the cream and liquid. For a lighter dish, use a 1:1 ratio of coconut milk to water.
  • Salted Fish Substitute: If salted fish isn’t available, you can use dried anchovies (ikan bilis) or skip it and add a bit more salt to the rice for flavor.
  • Make Ahead: The rice can be cooked a few hours in advance and kept warm in a rice cooker or oven at a low temperature (80°C/175°F). Fry the salted fish and shallots just before serving for maximum crispness.
  • Storage: Store leftover rice and toppings separately in airtight containers in the fridge for up to 3 days. Reheat the rice in a steamer or microwave with a splash of water to restore its texture.

Nutritional Information (Per Serving, Approximate, Rice Only)

  • Calories: 350-400 kcal (varies by coconut milk and portion)
  • Protein: 8g (more if including chicken)
  • Fat: 15g
  • Carbohydrates: 50g
  • Sodium: 600mg

Nasi Liwet is a dish that embodies the warmth of Javanese hospitality, with its fragrant rice and communal spirit bringing people together. Whether you’re celebrating a special occasion or simply craving a taste of Solo, this one-pot recipe will fill your table with comfort and flavor.

Website |  + posts

Leave a Reply