Nasi Goreng Recipe (Indonesian Fried Rice)

Updated November 5, 2026

Total time
30 min
prep 15 min · cook 15 min
Serves
4
portions as written

Jump to recipe

Nasi Goreng Recipe (Indonesian Fried Rice)

Nasi goreng is Indonesia’s iconic fried rice, a fragrant stir-fry of cooked rice with sweet soy sauce (kecap manis), shallots, garlic, and chili, typically topped with a fried egg. It works because the sweet-savory sauce clings to every grain, while the high heat creates slightly charred, smoky edges that make it deeply satisfying. This version is a practical home-cooked take on the classic, using widely available ingredients without losing the essential character of the dish.

Ingredients

  • 4 cups (720 g) cooked and cooled day-old jasmine or long-grain rice (see Tips)
  • 3 tbsp (45 ml) neutral oil (canola, sunflower, or vegetable)
  • 4 shallots, finely chopped (about ¾ cup / 110 g)
  • 3 cloves garlic, minced
  • 2 fresh red chilies (like bird’s eye or red jalapeño), thinly sliced (adjust to taste)
  • 2 large eggs, lightly beaten
  • 1 lb (450 g) cooked protein: shrimp, chicken, or firm tofu (see Variations)
  • 3 tbsp (45 ml) kecap manis (sweet soy sauce), plus more to taste
  • 1 tbsp (15 ml) regular soy sauce (or fish sauce for a more pungent flavor)
  • 1 tsp (5 g) shrimp paste (terasi) – optional but traditional; substitute with 1 extra tsp fish sauce if unavailable
  • ½ tsp (2 g) ground white pepper (or black pepper)
  • 1 cucumber, sliced, and 2 tomatoes, cut into wedges, for serving
  • 4 fried eggs (optional, for topping)
  • Fried shallots (bawang goreng) and lime wedges, for garnish

Instructions

  1. If using shrimp paste, wrap it in a small piece of foil and toast in a dry skillet over medium heat for 2–3 minutes per side until fragrant. Set aside.
  2. Heat 2 tablespoons of the oil in a large wok or skillet over high heat until shimmering. Add the beaten eggs and scramble quickly until just set, about 30 seconds. Transfer to a plate.
  3. Add the remaining 1 tablespoon oil to the wok. Add shallots, garlic, and chilies; stir-fry until fragrant and lightly golden, about 2 minutes.
  4. Add the cooked protein (shrimp, chicken, or tofu) and stir-fry for 2–3 minutes until heated through and lightly browned. If using shrimp, cook until pink and opaque; if using chicken, ensure it reaches 165°F (74°C) as the safe minimum internal temperature per USDA FSIS guidelines.
  5. Add the rice, breaking up any clumps with a spatula. Stir-fry for 3–4 minutes, tossing constantly, until the rice is evenly hot and starts to crisp slightly.
  6. Add the kecap manis, soy sauce (or fish sauce), shrimp paste (if using), and white pepper. Toss everything together until the rice is evenly coated and has a deep, caramel color. Cook for another 2 minutes.
  7. Return the scrambled eggs to the wok and toss to combine. Taste and adjust seasoning with more kecap manis or soy sauce.
  8. Serve immediately, topped with a fried egg (if using), garnished with fried shallots and lime wedges, with cucumber and tomato on the side.

Tips

  • Use day-old rice: Freshly cooked rice is too moist and sticky; it will turn mushy. Spread cooked rice on a tray and refrigerate uncovered for at least 2 hours, or overnight, to dry it out. If using fresh rice, reduce the liquid and cook it a bit drier than usual.
  • Kecap manis substitute: If you can’t find kecap manis, mix 3 tablespoons (45 ml) dark soy sauce with 1 tablespoon (15 g) brown sugar and 1 teaspoon molasses (or honey) until dissolved. This will approximate the sweet, syrupy flavor.
  • Shrimp paste: This fermented paste is pungent but mellows during cooking. If you’re sensitive to its smell, use 1 teaspoon fish sauce instead, but note the flavor will be less complex.
  • Don’t overload the wok: Cook in batches if needed. Crowding the pan steams the rice instead of frying it, resulting in a less smoky, less crispy texture.

Serving Suggestions

Serve nasi goreng as a complete meal with a fried egg on top (the yolk acts as a sauce), a side of fresh cucumber and tomato slices, and a wedge of lime to squeeze over. For a heartier spread, pair it with satay skewers, prawn crackers (krupuk), or a simple bowl of clear soup like soto ayam. It’s also a great way to use up leftover roast chicken or vegetables.

Variations

  • Chicken or beef: Use thinly sliced chicken breast or beef sirloin, stir-fried until cooked through (chicken to 165°F / 74°C, beef to 145°F / 63°C with a 3-minute rest).
  • Vegetarian: Omit shrimp paste and use firm tofu or tempeh, plus extra vegetables like carrots, green beans, or cabbage. Add 1 teaspoon mushroom powder or a splash of vegetable stock for extra umami.
  • Spicy: Add 1–2 tablespoons of sambal oelek or extra bird’s eye chilies for a fiery kick.
  • Seafood: Use a mix of shrimp and squid (cut into rings) for a coastal-style nasi goreng. Cook squid just until opaque, about 1–2 minutes.

Storage and Reheating

Refrigerate leftovers in an airtight container within 2 hours of cooking. It will keep for 3–4 days. To reheat, spread the rice in a skillet over medium-high heat with a splash of water or oil and stir-fry until hot, about 3–4 minutes. You can also microwave individual portions for 1–2 minutes, but the texture will be softer. Reheat leftovers to 165°F (74°C) as per USDA FSIS guidelines. Freezing is not recommended as the rice becomes mushy upon thawing.

Frequently Asked Questions

Can I use regular soy sauce instead of kecap manis? Yes, but the dish will be less sweet and more salty. Add a little sugar or honey to balance the flavors.

What is the best rice for nasi goreng? Day-old jasmine or long-grain rice is ideal because it’s dry and separate. Medium-grain rice can work but tends to be stickier.

Can I make nasi goreng without shrimp paste? Absolutely. You can omit it or substitute with fish sauce. The dish will still be delicious, just less complex in flavor.

Is nasi goreng spicy? Traditionally it has a mild heat from chilies, but you can adjust the amount to your preference. Use fewer chilies or remove the seeds for a milder version.

What can I use instead of day-old rice? If you only have fresh rice, cook it with slightly less water and spread it on a baking sheet to cool and dry for 15–20 minutes before frying.

Can I add vegetables? Yes, add finely chopped carrots, cabbage, or green beans in step 4 before the rice. Cook them until just tender-crisp.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).