Indonesian Nasi Goreng

Ceramic bowl of Indonesian nasi goreng: dark glossy kecap fried rice with chicken pieces, whole shrimp, shredded cabbage and scallions, topped with a crisp-edged fried egg, with cucumber slices, tomato wedges, prawn crackers, crispy shallots and a lime wedge on a wooden table

Dark, Glossy, and Built Around Kecap Manis

Nasi goreng is Indonesia's fried rice, and what sets it apart is kecap manis — the thick, sweet soy sauce that coats every grain and turns it a deep mahogany brown. Add toasted shrimp paste for a savory backbone, shallots and garlic for aroma, and chilies for heat, and you get a plate that reads sweet first, then salty and smoky, with a gentle funk grounding it all. A crisp-edged fried egg on top is close to non-negotiable, and so are the cool cucumber slices and crunchy crackers on the side.

This version uses day-old jasmine rice, chicken, and shrimp, cooked hot in a wok so the rice fries instead of steaming. If you have only cooked rice tonight, spread it on a sheet pan and chill it while you prep — dry, cold grains are the whole secret to distinct, glossy rice instead of a soft clump. For the rice itself, How to Cook Perfect Jasmine Rice Every Time covers the rinse, ratio, and rest that make fried rice work the next day.

It helps to taste nasi goreng next to its neighbors. Thai Pineapple Fried Rice is bright and fruity with curry powder and cashews, while Tom Yum Fried Rice leans hot, sour, and herbal. Nasi goreng is the dark, sweet-savory one — kecap manis does the heavy lifting, and the shrimp paste keeps it from tasting like candy.

The Ingredients That Make It Nasi Goreng

You can swap the proteins freely, but three pantry items define the dish. If you stock them, the rest is weeknight flexible.

Ingredient What it does If you cannot find it
Kecap manis Thick sweet soy sauce; gives color, gloss, and caramel sweetness Simmer 1/4 cup light soy sauce with 3 tablespoons dark brown sugar until slightly syrupy; cool before using
Terasi / belacan (shrimp paste) Toasted fermented shrimp paste; deep savory funk in a tiny amount 1 teaspoon fish sauce plus 1/2 teaspoon finely minced anchovy, or just fish sauce for a milder plate
Shallots Sweet, soft onion base that fries golden without harshness Half a yellow onion, finely diced, cooked a minute longer

Kecap manis is not the same as regular soy sauce with sugar stirred in at the end. It is reduced, syrupy, and almost molasses-like, so it clings to hot rice and caramelizes at the wok's edge. Brands vary in sweetness — start with the amount below, then add a teaspoon more at the end if your bottle tastes more salty than sweet. The Soy Sauce Guide: Light vs Dark vs Tamari is a good primer on how these sauces differ before you shop.

A note on the shrimp paste: toast it briefly and it blooms. Wrap a small piece in foil and warm it in a dry pan for 30 to 60 seconds per side, or microwave it on a small plate for 20 seconds. Raw from the jar it can smell harsh; toasted, it turns nutty and savory and disappears into the rice as depth rather than a headline flavor. If you are keeping the plate vegetarian, skip it and lean on extra shallots, garlic, and a pinch of mushroom powder or an extra splash of soy sauce.

Ingredients

  • 4 cups (about 600 g) cooked jasmine rice, day-old and chilled, grains separated
  • 3 tablespoons neutral oil with a high smoke point (avocado, grapeseed, or peanut), divided
  • 6 oz (170 g) boneless skinless chicken thighs, cut into 1/2-inch pieces
  • 6 oz (170 g) medium shrimp, peeled, deveined, and patted dry
  • 4 shallots (about 5 oz / 140 g), thinly sliced
  • 4 cloves garlic, finely minced
  • 2 to 3 Thai bird chilies, thinly sliced, plus more for serving (or 1 teaspoon sambal oelek)
  • 1 teaspoon toasted shrimp paste (terasi or belacan)
  • 3 tablespoons kecap manis, plus more to taste
  • 1 tablespoon light soy sauce
  • 1 teaspoon fish sauce (optional, for extra depth)
  • 1/2 teaspoon ground white pepper
  • 1 cup (70 g) finely shredded green cabbage or 1 cup bean sprouts
  • 2 scallions, cut into 1-inch pieces
  • 4 eggs
  • Kosher salt, to taste
  • For serving: cucumber slices, tomato wedges, prawn crackers (krupuk) or shrimp chips, crispy fried shallots, and lime wedges

Prep: 20 minutes. Cook: 15 minutes. Total: 35 minutes. Serves 4.

Ingredients for Indonesian nasi goreng on a wooden board: bowl of cooked jasmine rice, bottle of kecap manis, bowls of shrimp paste, sliced shallots, minced garlic and sliced red chilies, raw chicken thighs, raw shrimp, shredded cabbage, scallions and eggs

How to Make It, Step by Step

1. Season the proteins. Toss the chicken with a pinch of salt and a pinch of the white pepper. Pat the shrimp very dry with paper towels and season the same way. Dry shrimp sear; wet shrimp steam and turn rubbery.

2. Build the aromatic base. Heat a wok or a large, heavy skillet over medium-high heat until hot. Add 2 tablespoons of the oil and swirl. Add the shallots and cook, stirring often, for 2 to 3 minutes until soft and starting to turn golden at the edges. Add the garlic, chilies, and toasted shrimp paste. Stir for 30 to 45 seconds, breaking the paste into the oil, until the mix smells deeply savory and the garlic loses its raw edge.

3. Cook the chicken and shrimp. Push the aromatics to the sides and add the chicken in a single layer. Let it sit for 1 minute to take on color, then stir-fry for 2 to 3 minutes until just cooked through. Add the shrimp and stir-fry for 1 to 2 minutes, just until pink and curled. Move everything to a plate, leaving the flavored oil behind.

4. Fry the rice. Add the remaining 1 tablespoon oil to the wok and raise the heat to high. Add the cold rice and spread it into an even layer. Leave it alone for 60 to 90 seconds so the bottom grains fry and pick up a little chew, then toss and spread again. Repeat once more. The rice should look dry, separate, and lightly glossy, with a few toasted edges.

5. Sauce and bring it together. Drizzle the kecap manis, light soy sauce, and fish sauce (if using) around the edge of the wok so they sizzle on contact, then toss until every grain turns an even, deep brown. Return the chicken, shrimp, and any juices to the wok. Add the cabbage and scallions and toss for 1 minute, just until the cabbage wilts but keeps some crunch. Taste: add another teaspoon of kecap manis for sweetness and color, or a pinch of salt if your sauce ran sweet. Finish with the remaining white pepper.

6. Fry the eggs and serve. In a separate nonstick skillet, fry the eggs in a thin film of oil over medium-high heat until the whites set and the edges turn lacy and crisp, about 2 minutes, keeping the yolks runny. Divide the rice among warm plates, top each with a fried egg, and arrange cucumber, tomato, crackers, crispy shallots, extra chilies, and lime wedges around the edges.

Indonesian nasi goreng tossing in a black wok over flame: dark glossy fried rice with chicken pieces, shrimp, cabbage and scallion greens mid-toss, steam rising and a metal spatula in the rice

Getting the Rice Right (The Part That Matters Most)

Fresh, warm rice went mushy: it carries too much surface moisture. Day-old, fridge-cold rice is firm and dry, so it fries instead of steaming. If you must cook rice the same day, spread it thin on a sheet pan, let it cool, then refrigerate uncovered for at least 1 hour before frying.

The rice looks pale and tastes flat: the wok was not hot enough when the kecap went in, or the sauce was added to the center where it pooled. Drizzle sauces around the hot edge of the wok, toss fast, and give the rice a final 30 seconds of high heat so the sugars in the kecap manis gloss the grains instead of soaking them.

The shrimp turned tough: they cooked twice. Shrimp need barely 1 to 2 minutes in step 3, and they warm through again when they return to the rice. Pull them while they still look a touch underdone in the center.

It reads sweet and one-note: balance with acid and crunch at the table. A squeeze of lime, the cool cucumber, and the salty snap of a prawn cracker fix more than extra soy sauce will. A spoonful of Chili Oil 101: Make It at Home or a few extra sliced chilies also resets the balance toward heat.

Variations Worth Knowing

  • Nasi goreng kampung (village style): skip the shrimp and kecap manis, keep the shrimp paste, add a handful of water spinach (kangkong) and a small can of anchovies fried crisp, and season with soy sauce and white pepper only. It is paler, saltier, and deeply savory. Our Sambal Kangkong: Water Spinach with Chili shows how kangkong behaves in a hot wok if you want a side to match.
  • Vegetarian nasi goreng: leave out the shrimp paste, chicken, and shrimp. Use pressed extra-firm tofu cubes (fried golden first), two handfuls of shredded cabbage and carrots, and kecap manis plus light soy sauce to taste. Fry the eggs separately or skip them and add extra How to Make Crispy Shallots at Home on top for crunch.
  • Nasi goreng pattaya: wrap a portion of the finished rice in a thin omelet, like a parcel, and finish with a zigzag of ketchup or chili sauce. Kids tend to claim this one first.
  • Spicier, with sambal: stir 1 to 2 tablespoons sambal oelek into the aromatic base and cut the bird chilies in half. The rice turns a deeper red-brown and the heat spreads evenly instead of landing in single bites.
  • Breakfast nasi goreng: use whatever rice and vegetables are left from dinner, skip the proteins, and put two fried eggs on top instead of one. A plate of cold nasi goreng reheated in a hot wok with a fresh egg is a very good morning.

Serving and Leftovers

Serve nasi goreng straight from the wok while the rice is hot and the egg yolks are still runny — the yolk breaking over the rice is part of the sauce. Keep the accompaniments cold and crisp for contrast: cucumber and tomato cool the palate, crackers add the crunch fried rice cannot give itself, and lime lets each person tune the sweetness at the table.

Leftovers keep in a covered container in the refrigerator for up to 3 days; store the fried eggs separately and cook fresh ones when you reheat. Reheat the rice in a wok or wide skillet over high heat with a teaspoon of oil, tossing until hot and glossy again, about 3 to 4 minutes. The microwave works, but the grains soften and lose their chew. Cooked chicken and shrimp in the rice should be reheated until steaming hot throughout.

Do not freeze the finished dish with the egg on top. The rice alone freezes for up to 1 month in a flat, sealed bag; thaw it overnight in the refrigerator and re-fry from cold for the best texture.

Recipe Card Summary

Indonesian nasi goreng: day-old jasmine rice fried hot with kecap manis, toasted shrimp paste, shallots, garlic, and chilies, with chicken, shrimp, cabbage, and scallions, topped with a crisp-edged fried egg and served with cucumber, tomato, prawn crackers, crispy shallots, and lime. Prep 20 minutes, cook 15 minutes. Serves 4.

Ceramic bowl of Indonesian nasi goreng: dark glossy kecap fried rice with chicken pieces, whole shrimp, shredded cabbage and scallions, topped with a crisp-edged fried egg, with cucumber slices, tomato wedges, prawn crackers, crispy shallots and a lime wedge on a wooden table

Indonesian Nasi Goreng

Day-old jasmine rice fried hot with kecap manis, toasted shrimp paste, shallots, garlic, and chilies, with chicken, shrimp, cabbage, and scallions, topped with a crisp-edged fried egg and served with cucumber, tomato, prawn crackers, crispy shallots, and lime. Day-old cold rice, a very hot wok, and sauces drizzled around the edge are what keep the grains separate and glossy.
Prep Time 20 minutes
Cook Time 15 minutes
Total Time 35 minutes
Servings: 4 servings

Ingredients
  

  • 4 cups (about 600 g) cooked jasmine rice day-old and chilled, grains separated
  • 3 tablespoons neutral oil with a high smoke point avocado, grapeseed, or peanut, divided
  • 6 oz (170 g) boneless skinless chicken thighs cut into 1/2-inch pieces
  • 6 oz (170 g) medium shrimp peeled, deveined, and patted dry
  • 4 shallots about 5 oz (140 g), thinly sliced
  • 4 cloves garlic finely minced
  • 2 to 3 Thai bird chilies thinly sliced, plus more for serving (or 1 teaspoon sambal oelek)
  • 1 teaspoon toasted shrimp paste (terasi or belacan)
  • 3 tablespoons kecap manis plus more to taste
  • 1 tablespoon light soy sauce
  • 1 teaspoon fish sauce optional, for extra depth
  • 1/2 teaspoon ground white pepper divided
  • 1 cup (70 g) finely shredded green cabbage or 1 cup bean sprouts
  • 2 scallions cut into 1-inch pieces
  • 4 eggs
  • kosher salt to taste
  • cucumber slices, tomato wedges, prawn crackers (krupuk), crispy fried shallots, and lime wedges for serving

Method
 

  1. Season the proteins: toss the chicken with a pinch of salt and a pinch of the white pepper. Pat the shrimp very dry with paper towels and season the same way. Dry shrimp sear; wet shrimp steam and turn rubbery.
  2. Build the aromatic base: heat a wok or large heavy skillet over medium-high heat until hot. Add 2 tablespoons of the oil and swirl. Add the shallots and cook, stirring often, for 2 to 3 minutes until soft and starting to turn golden at the edges. Add the garlic, chilies, and toasted shrimp paste. Stir for 30 to 45 seconds, breaking the paste into the oil, until deeply savory and the garlic loses its raw edge.
  3. Cook the chicken and shrimp: push the aromatics to the sides and add the chicken in a single layer. Let it sit for 1 minute to take on color, then stir-fry for 2 to 3 minutes until just cooked through. Add the shrimp and stir-fry for 1 to 2 minutes, just until pink and curled. Move everything to a plate, leaving the flavored oil behind.
  4. Fry the rice: add the remaining 1 tablespoon oil to the wok and raise the heat to high. Add the cold rice and spread it into an even layer. Leave it alone for 60 to 90 seconds so the bottom grains fry and pick up a little chew, then toss and spread again. Repeat once more. The rice should look dry, separate, and lightly glossy, with a few toasted edges.
  5. Sauce and bring it together: drizzle the kecap manis, light soy sauce, and fish sauce (if using) around the edge of the wok so they sizzle on contact, then toss until every grain turns an even, deep brown. Return the chicken, shrimp, and any juices to the wok. Add the cabbage and scallions and toss for 1 minute, just until the cabbage wilts but keeps some crunch. Taste and add another teaspoon of kecap manis for sweetness and color, or a pinch of salt if needed. Finish with the remaining white pepper.
  6. Fry the eggs and serve: in a separate nonstick skillet, fry the eggs in a thin film of oil over medium-high heat until the whites set and the edges turn lacy and crisp, about 2 minutes, keeping the yolks runny. Divide the rice among warm plates, top each with a fried egg, and arrange cucumber, tomato, crackers, crispy shallots, extra chilies, and lime wedges around the edges.

1 thought on “Indonesian Nasi Goreng”

Leave a Comment

Recipe Rating