Nasi goreng is Indonesian fried rice made by stir-frying cooked rice with aromatics, vegetables, kecap manis, and often egg. This home-style version is savory, lightly sweet, and pleasantly smoky; using cold rice helps each grain fry instead of turning soft, so have cooked rice chilled and ready before you begin.
Ingredients
- 4 cups (about 650 g) cold, cooked jasmine or other long-grain rice, preferably refrigerated overnight
- 2 tablespoons (30 ml) neutral cooking oil, such as canola or peanut oil, divided
- 3 large eggs (about 150 g without shells), lightly beaten
- 1 small yellow onion (about 100 g), finely diced
- 1 medium carrot (about 130 g), peeled and cut into small dice
- 3 garlic cloves (about 9 g), finely minced
- 1 teaspoon (5 g) finely grated fresh ginger
- 1 cup (150 g) frozen peas, thawed
- 3 tablespoons (45 ml) kecap manis, Indonesian sweet soy sauce
- 1 tablespoon (15 ml) regular soy sauce
- 1 teaspoon (5 ml) sambal oelek or another chili paste, optional; use less or omit for a mild dish
- 3 scallions (about 30 g), thinly sliced, with the white and green parts separated
- ¼ teaspoon (about 1 g) ground white or black pepper
- 1 lime, cut into 4 wedges
- 1 cup (about 100 g) thinly sliced cucumber, for serving
- 1 medium tomato (about 150 g), cut into wedges, for serving
- 2 tablespoons (about 10 g) crispy fried shallots, optional, for serving
Instructions
- Prepare the rice and vegetables. Break up the cold rice with clean fingers or a fork, separating any large clumps without crushing the grains. Dice the onion and carrot, mince the garlic, grate the ginger, and slice the scallions. If the rice is very firm from refrigeration, let it sit on the counter while you prepare the other ingredients, but do not leave it at room temperature for more than 2 hours.
- Mix the seasoning. Stir together the kecap manis, soy sauce, and sambal, if using, in a small bowl. Mixing the sauces first makes it easier to coat the rice quickly once it is in the pan. Taste a drop and adjust the chili to suit the people you are serving; the kecap manis is already sweet, so extra sugar is usually unnecessary.
- Cook the eggs. Heat a wok or large, wide skillet over medium-high heat. Add 1 teaspoon of the oil, then pour in the beaten eggs. Scramble gently until just set, breaking them into bite-size pieces; check with a food thermometer that the egg reaches the USDA FSIS safe minimum internal temperature of 160°F (71°C). Transfer the cooked egg to a clean plate. If you do not have a thermometer, cook the curds until completely set throughout, though a thermometer is the most reliable way to verify the temperature.
- Stir-fry the aromatics and vegetables. Return the pan to medium-high heat and add the remaining oil. Add the onion, carrot, and the white parts of the scallions. Stir-fry for about 4 minutes, moving the vegetables often, until the onion begins to soften and the carrot is nearly tender. Add the garlic and ginger and cook for about 30 seconds, stirring constantly so the garlic becomes fragrant but does not brown or burn.
- Fry the rice. Add the rice and peas. Toss and press gently with a spatula to separate clumps and bring the rice into contact with the hot pan. Cook for 5 to 6 minutes, stirring frequently. If your pan is small, work in two batches; crowding traps steam and can make the rice damp rather than lightly toasted.
- Season and finish. Pour the sauce mixture around the edge of the pan, then toss it through the rice until the grains are evenly colored and steaming hot. Return the cooked egg to the pan, add the green scallion tops and pepper, and stir for another 1 to 2 minutes. Taste and add a little more soy sauce if needed. Serve right away with lime wedges, cucumber, tomato, and fried shallots if desired.
Tips
- Start with cold, separate grains. Freshly cooked, warm rice contains more surface moisture and tends to clump in a wok. If you do not have day-old rice, spread freshly cooked rice in a shallow layer on a clean tray, cool it promptly, and refrigerate it until cold before frying. Do not leave cooked rice sitting out for hours.
- Use the right kecap manis substitute. Kecap manis is thick, dark Indonesian sweet soy sauce, and it gives nasi goreng its characteristic sweet-salty glaze. If you cannot find it, mix 2 tablespoons (30 ml) soy sauce with 1 tablespoon (12 g) brown sugar for every 3 tablespoons (45 ml) kecap manis called for. The substitute is thinner and less deeply caramelized, so the finished rice will taste less rich and glossy.
- Keep the pan hot, but watch the garlic. A hot wok helps the rice fry rather than steam, but garlic can scorch quickly. Have the rice and sauce ready before you start cooking the aromatics, and keep everything moving once the garlic goes in. If your stove is not powerful, use a broad skillet and fry in batches rather than piling in all the rice.
- Adjust salt at the end. Soy sauce and kecap manis both bring salt, and brands vary. Taste after tossing in the sauce before adding extra salt or soy. A squeeze of lime at the table can sharpen the sweet-savory flavor without making the rice saltier.
Serving Suggestions
Serve nasi goreng hot as a main dish, with cucumber and tomato on the side for a cool, fresh contrast to the warm, seasoned rice. Lime wedges let each person brighten the portion to taste, while crispy fried shallots add a delicate crunch. For a more substantial Indonesian-inspired spread, pair the rice with sautéed greens, quick-pickled vegetables, or a simple clear vegetable soup. Keep the accompaniments lightly seasoned so they do not compete with the sweet soy sauce.
This recipe already includes egg for protein, but it also works as part of a larger meal. Put sambal on the table for anyone who wants more heat rather than increasing the chili in the whole pan. If serving several people, bring the rice to the table soon after cooking; it is at its best while the grains are still distinct and the vegetables retain a little bite.
Variations
Add chicken or shrimp: For a heartier version, stir-fry about 8 ounces (225 g) of small pieces of boneless chicken before the vegetables, then transfer it to a clean plate while you cook the rest. Return it with the egg at the end, and verify that poultry reaches 165°F (74°C) on a food thermometer, the USDA FSIS safe minimum. For shrimp, cook peeled shrimp until opaque and verify 145°F (63°C) with a thermometer. Keep raw meat or seafood and its utensils separate from the cooked rice and vegetables.
Make it vegetarian or vegan: The recipe as written is vegetarian if the sauces and optional fried shallots contain no animal-derived ingredients, but it includes egg. To make it vegan, leave out the egg and add 7 ounces (200 g) pressed, diced firm tofu, browned in the pan before the vegetables. Check the label on kecap manis and sambal if you need to avoid particular ingredients.
Change the vegetables or heat: Finely chopped green beans, shredded cabbage, corn, or diced bell pepper can replace some or all of the carrot and peas; use about 2 cups (300 g) vegetables in total so the pan does not become crowded. Sambal is optional, and a little sliced fresh chili can replace it. For a gentler flavor, leave out chili altogether and let diners add it at the table.
Add a traditional savory note: Some versions use a small amount of terasi, Indonesian fermented shrimp paste. It can be difficult to find and has a pronounced savory aroma, so it is optional here. If using it, dissolve about ½ teaspoon (2 g) in the pan with the garlic and ginger; a few drops of fish sauce can provide some savory depth, but it will not have the same fermented flavor. Skip both for a vegetarian version.
Storage and Reheating
Transfer leftover rice to a shallow container and refrigerate it within 2 hours of cooking. Rice is best eaten promptly because cooked rice held warm or at room temperature for too long can allow harmful bacteria to grow. Refrigerate leftovers at 40°F (4°C) or colder and use them within 3 to 4 days. If the rice has been left out for more than 2 hours, discard it rather than saving it.
Reheat only the portion you plan to eat. For a skillet, add a splash of water, cover, and heat over medium heat, stirring occasionally until the rice is steaming throughout. A microwave also works: cover the rice loosely, stir halfway through, and continue heating until evenly hot. Leftovers should reach 165°F (74°C), the USDA FSIS safe minimum for reheated food; check in several places if reheating a large portion. Do not reheat the same rice repeatedly. For longer storage, freeze cooled portions in airtight containers and thaw them in the refrigerator before reheating.
Frequently Asked Questions
What does nasi goreng mean?
Nasi goreng translates from Indonesian as fried rice: nasi means rice, and goreng means fried. It is a broad, familiar dish rather than one single fixed formula. Household versions differ in their vegetables, seasonings, toppings, and level of heat, and this recipe is one practical stovetop version.
Can I use freshly cooked rice?
Cold rice is easier to fry because its grains are firmer and less wet, but you can use freshly cooked rice if you cool it first. Spread it in a shallow layer so steam can escape, refrigerate it promptly, and fry it once it is cold. Avoid leaving cooked rice at room temperature to cool for an extended period, and never use rice that has been sitting out for hours.
Where can I find kecap manis?
Look for kecap manis in the Indonesian or Southeast Asian section of a well-stocked grocery store or at an Asian market. It is thicker and sweeter than ordinary soy sauce. If it is unavailable, the soy sauce and brown sugar mixture in the tips is a useful substitute, though it gives a thinner sauce and a less distinctive caramel-like sweetness.
Is nasi goreng spicy?
It can be mild or quite hot, depending on the cook and the chili condiment used. In this recipe, sambal is optional and only a teaspoon is included, so the rice has gentle warmth rather than strong heat. Leave it out for a mild batch, or offer additional sambal at the table so each person can choose.
Why did my fried rice turn mushy?
Rice that is warm, freshly cooked, or excessively moist is more likely to clump and soften in the pan. A crowded pan can also trap steam. Use cold rice, break up the clumps before frying, heat a wide pan well, and cook in batches if needed. Add the sauce near the end and toss just until it coats the grains.
Related
- Modern Indian Curry: Creamy Tomato Paneer Recipe
- French Soup Boule: Onion Soup in a Bread Bowl
- Colombian Meatball Stew with Potatoes and Hogao
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).