Nasi goreng is Indonesian fried rice, usually seasoned with sweet-salty kecap manis and cooked with aromatics, vegetables, and often egg. This home-style version uses chilled rice for distinct, lightly crisp grains; ingredients and heat levels vary across Indonesian regions and households.
Ingredients
- 4 cups (600 g) cooked, chilled long-grain rice, preferably cooked the day before
- 2 large eggs (about 100 g without shells), lightly beaten
- 2 tablespoons (30 ml) neutral oil, such as canola or peanut oil, divided
- 1 small shallot (about 40 g), finely chopped
- ½ cup (75 g) finely chopped yellow onion
- 3 cloves garlic (about 9 g), finely minced
- 1 small red chile (about 5 g), finely sliced, or ½ teaspoon (2 g) chile flakes
- ½ cup (65 g) diced carrot, cut into small pieces
- 1 cup (70 g) thinly sliced green cabbage
- 2 tablespoons (30 ml) kecap manis, plus more to taste
- 1 tablespoon (15 ml) regular soy sauce
- 1 teaspoon (5 g) sambal oelek, or another Indonesian-style chile paste, optional
- ½ teaspoon (2 g) terasi, Indonesian fermented shrimp paste, optional
- ¼ teaspoon (1 g) ground white pepper, or to taste
- 2 scallions (about 30 g), thinly sliced, divided
- 1 cup (100 g) sliced cucumber and 1 cup (150 g) tomato wedges, for serving
- 2 tablespoons (6 g) crispy fried shallots, for serving, optional
Instructions
- Get everything ready. Separate the cold rice grains with clean fingers or a fork, breaking up any firm clumps. Chop the shallot, onion, garlic, chile, carrot, cabbage, and scallions; measure the sauces and set them beside the stove. Nasi goreng cooks quickly once the pan is hot, so having the ingredients ready prevents the garlic from scorching while you search for the kecap manis. This preparation takes about 20 minutes, including slicing the cucumber and tomato for serving.
- Cook the eggs. Heat a large wok or wide, heavy skillet over medium-high heat for about 1 minute, then add 1 teaspoon of the oil. Pour in the beaten eggs and scramble gently for about 2 minutes, breaking them into small, soft pieces. Cook until fully set and a food thermometer reads 160°F (71°C), the USDA FSIS safe minimum for egg dishes. Transfer the eggs to a clean plate. If your pan is small, cook in batches later rather than crowding the rice.
- Fry the aromatics. Add the remaining oil to the hot pan. Add the shallot, onion, garlic, chile, and optional terasi. Stir constantly for about 2 minutes, until the onion starts to soften and the mixture smells fragrant. Press the terasi into the oil so it disperses rather than leaving a concentrated lump. Keep the heat lively but not so high that the garlic turns dark; burnt garlic tastes bitter and can overwhelm the sweet soy sauce.
- Soften the vegetables. Add the carrot and cabbage and stir-fry for about 3 minutes. Keep the vegetables moving around the pan. The carrot should be just tender while the cabbage still has a little bite. If the pan seems dry, add a teaspoon of water rather than another large pour of oil. This keeps the vegetables from sticking without making the finished rice greasy.
- Fry the rice and season it. Add the chilled rice, using a spatula to lift and turn it so the grains warm evenly and mix with the vegetables. Fry for about 4 minutes, pressing apart any remaining clumps. Stir together the kecap manis, soy sauce, sambal if using, and white pepper, then drizzle the mixture over the rice. Toss and fry for about 2 minutes, scraping the pan so the sauce coats the grains instead of collecting at the bottom. Taste a grain and add a little more kecap manis for sweetness or soy sauce for saltiness.
- Finish and serve. Return the cooked eggs to the pan and add most of the scallions. Toss for about 1 minute, until the eggs are distributed and everything is piping hot. Divide the rice among four plates and top with the remaining scallions and optional crispy shallots. Serve at once with cucumber and tomato on the side.
Tips
- Start with properly chilled rice. Cold rice is firmer and less sticky, so it fries into separate grains instead of turning soft and pasty. Freshly cooked rice can work in a pinch if it is spread in a thin layer on a clean tray and cooled promptly in the refrigerator, but do not leave cooked rice sitting at room temperature for an extended period. The recipe timing assumes your rice is already cooked and chilled.
- Look for kecap manis, not just sweet soy sauce. Kecap manis is a thick Indonesian sweet soy sauce with a caramel-like flavor. If you cannot find it, mix 1 tablespoon (15 ml) soy sauce with 1 tablespoon (12 g) brown sugar as a quick substitute. It will be thinner and less rounded, so add it gradually and let it bubble briefly in the pan to coat the rice.
- Adjust chile and shrimp paste to your table. Sambal and fresh chile are optional; start with less and add more at the end if needed. Terasi adds a pronounced fermented, savory aroma, but the dish is still flavorful without it. For a similar salty note without shrimp paste, use about ½ teaspoon (2.5 ml) fish sauce; it will taste less roasted. For a vegetarian version, omit both and check that your sambal and soy sauce are suitable.
- Use a wide, hot pan and work in batches if needed. A crowded pan traps steam, which makes rice damp rather than lightly fried. If your skillet is under 12 inches (30 cm) wide, fry half the rice at a time and combine the batches with the egg at the end. Keep stirring near the end because the sugars in kecap manis can catch on a very hot pan.
Serving Suggestions
Serve nasi goreng as a complete lunch or dinner with cucumber and tomato to bring a cool, fresh contrast to the savory rice. Crispy fried shallots add crunch, while extra sliced scallion brightens each bite. For a more substantial plate, add a fried egg or serve alongside grilled chicken, tofu, or tempeh; cook any additional egg until the whites and yolk are firm. A small bowl of sambal lets everyone adjust the heat individually. Indonesian meals often pair rice with a selection of sides, so pickled vegetables or a simple green salad also fit well. If serving several dishes, keep the rice warm only briefly and bring it to the table promptly rather than letting it sit out.
Variations
Make it vegetarian: Leave out the terasi and use a vegetarian-certified sambal. Add 1 cup (150 g) diced firm tofu, browned in the pan before the aromatics, or use 1 cup (150 g) sliced mushrooms. If you use a vegetarian alternative to kecap manis, taste before adding extra soy sauce because some products are saltier.
Add chicken or prawns: For chicken, stir-fry 8 ounces (225 g) of small, boneless pieces in the pan before cooking the eggs; check the thickest pieces with a food thermometer and cook poultry to 165°F (74°C), the USDA FSIS safe minimum. For prawns, cook them separately until opaque and they reach 145°F (63°C), the USDA FSIS safe minimum for fish and seafood, then fold them in at the end. Keep raw seafood utensils and plates separate from cooked food.
Use other vegetables: Replace the carrot and cabbage with 1½ cups (about 150 g) of finely chopped green beans, peas, bean sprouts, or bell pepper. Add quick-cooking vegetables toward the end so they stay crisp. For a milder, less sweet flavor, use 1½ tablespoons (22 ml) kecap manis and adjust with soy sauce; for more sweetness, add the remaining half tablespoon after tasting. Nasi goreng is adaptable, but keep the rice-to-sauce balance in mind so the grains do not become wet.
Storage and Reheating
Refrigerate leftover rice within 2 hours of cooking, in a shallow airtight container so it cools quickly. Keep it refrigerated for 3–4 days. Cooked rice should not be left at room temperature for long periods; when preparing rice ahead, cool it promptly and refrigerate it rather than leaving the pot on the counter. If the room is hotter than 90°F (32°C), refrigerate perishable food within 1 hour.
For the best texture, reheat only the portion you plan to eat. Add the rice to a skillet with 1–2 teaspoons of water, cover briefly to create steam, then stir-fry until evenly hot. You can also microwave it in a covered microwave-safe dish, stirring halfway through. Reheat leftovers to 165°F (74°C), the USDA FSIS safe minimum, checking the center with a food thermometer. Do not reheat the same portion repeatedly. Freeze leftovers in airtight portions for up to 2 months for best quality; thaw overnight in the refrigerator and reheat to 165°F (74°C). Discard rice that has been left out too long or smells or looks unusual.
Frequently Asked Questions
Can I make nasi goreng with freshly cooked rice?
Yes, but freshly cooked rice is moist and more likely to clump. Spread it in a thin layer and refrigerate it until cold before frying; do not cool it for hours on the counter. If the grains still feel damp, fry smaller batches and give them enough space in the pan to release steam.
What is the difference between kecap manis and regular soy sauce?
Kecap manis is a dark, thick, sweet Indonesian soy sauce, while regular soy sauce is thinner and saltier. They are not a direct one-for-one swap. Use the brown-sugar mixture in the Tips section if needed, and taste before adding extra salt because the soy sauce in this recipe already seasons the rice.
Is terasi essential?
No. Terasi, also called Indonesian shrimp paste, contributes a deep fermented savoriness, but many everyday versions leave it out or use other seasonings. This recipe works without it. If you use it, a small amount is enough; cook it with the aromatics so its flavor disperses through the dish.
Can I make this recipe less spicy?
Yes. Leave out the fresh chile and sambal, then serve sambal at the table for anyone who wants more heat. The chile is separate from the main sweet-salty flavor, so omitting it does not require changing the amounts of kecap manis or soy sauce.
Why did my fried rice turn mushy?
The rice may have been warm or freshly cooked, the pan may have been crowded, or too much sauce may have gone in at once. Use chilled rice, break up the clumps before cooking, and work in batches if necessary. Add the sauce around the rice in a thin stream, then keep tossing until it coats the grains.
Can I prepare any part ahead?
Yes. Chop the vegetables and mix the sauces up to a day ahead, keeping them covered and refrigerated. The rice can also be cooked ahead and chilled promptly. For the best result, fry the dish just before serving; cooked leftovers can be stored and reheated using the directions above.
Related
- German Word for Rabbit Stew: Kanincheneintopf Recipe
- German Soup Dishes: A Hearty Kartoffelsuppe Recipe
- German Potato Soup with Sausage: Hearty, Simple Recipe
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).