Skip to Recipe

If you’ve ever dreamed of recreating the smoky, sweet-and-spicy fried rice you get from a street cart in Indonesia, this authentic nasi goreng recipe is about to become your new weeknight favorite. With crispy marinated tempeh, tangy quick pickles, and a glossy kecap manis-coated rice topped with a runny fried egg, it’s bold, comforting, and surprisingly simple to pull together at home.

What Is Nasi Goreng?

Nasi goreng, which literally translates to “fried rice” in Indonesian and Malay, is one of Southeast Asia’s most beloved comfort foods. Unlike plain fried rice, authentic nasi goreng gets its signature deep brown-red color and sweet-savory depth from kecap manis, a thick, molasses-like sweet soy sauce, along with a punch of heat from sambal oelek and fragrant aromatics like garlic, shallots, and chilies.

While versions of nasi goreng vary from region to region and household to household, this recipe leans on tempeh for a protein-packed, plant-forward take, paired with quick pickled vegetables (acar) for crunch and acidity and a fried egg on top for that classic street-food finish. The result is a dish that’s smoky, spicy, sweet, and tangy all at once, layered with texture in every bite.

Tips for Cooking and Prepping

#1: Always use day-old, chilled rice

Freshly cooked rice is too moist and steamy, which leads to mushy, clumpy fried rice. Day-old rice that’s been chilled in the fridge dries out slightly, so the grains separate easily and fry up light and distinct.

#2: Don’t skip the marinating time for the tempeh

Letting the tempeh sit in the kecap manis, soy sauce, and sambal mixture for 10-15 minutes allows it to soak up flavor before hitting the wok, giving you crispy, caramelized edges with a sweet-spicy punch in every cube.

#3: Cook on high heat for real wok hei

That signature smoky char that makes nasi goreng taste authentic comes from cooking the rice over high heat and letting it sit undisturbed for a few seconds between tosses. Resist the urge to constantly stir.

#4: Break up rice by hand before frying

Using your hands to gently separate day-old rice grains before they hit the wok prevents big clumps and helps the kecap manis and sambal coat every grain evenly.

#5: Fry the eggs separately, right before serving

A crispy-edged, runny-yolk fried egg is the finishing touch that ties the whole dish together, so fry them last in their own pan and place them on top just before serving so the yolk stays perfectly runny.

#6: Prep your pickles first

The quick pickled vegetables need at least 10 minutes to sit, so mix them up first thing and let them work in the background while you handle the tempeh and rice.

Recipe Variations and Substitutes

This nasi goreng is easy to adapt to whatever you have on hand. Swap the tempeh for cubed chicken, shrimp, tofu, or even leftover roast pork for a different protein, or add diced carrots, peas, or Chinese sausage (lap cheong) directly into the fried rice for extra texture. If you can’t find kecap manis, you can approximate it by simmering regular soy sauce with brown sugar until slightly thickened, and if sambal oelek isn’t available, any chili garlic paste or sriracha will work in a pinch, though the flavor will be a touch different.

Serving Suggestions

Nasi goreng is typically served as a complete meal on its own, piled high in a bowl with the fried egg on top and a small mound of pickled vegetables on the side. For a more traditional Indonesian spread, add prawn crackers (krupuk), a wedge of lime, extra sambal on the side for those who like it fiery, and a sprinkle of crispy fried shallots and fresh cilantro right before serving.

Storing, Make-Ahead, and Freezing Tips

Nasi goreng keeps well in an airtight container in the refrigerator for up to 4 days, making it a great meal-prep option, though it’s best to fry the eggs fresh each time you reheat. The fried rice also freezes nicely for up to 2 months; just thaw it in the fridge overnight and reheat in a hot skillet or wok to bring back some of that crispy char. The pickled vegetables can be made a day or two in advance and stored separately in the fridge.

FAQs

Can I use freshly cooked rice instead of day-old rice?

You can, but it’s not ideal since fresh rice holds more moisture and tends to turn mushy and clump together in the wok. If you must use fresh rice, spread it out on a baking sheet and let it cool and dry out for 20-30 minutes before frying.

Is nasi goreng supposed to be spicy?

Traditionally, yes, nasi goreng has a noticeable kick from sambal oelek, but you can easily dial the heat up or down by adjusting the amount of sambal and fresh chilies to suit your taste.

What can I use instead of tempeh?

Tofu, shredded chicken, shrimp, or thinly sliced beef all work well as substitutes for tempeh; just adjust the cooking time so your protein of choice is cooked through and slightly crisped before adding it back to the rice.

How do I make this recipe gluten-free?

Use tamari instead of regular soy sauce and double check that your kecap manis and sambal oelek brands are labeled gluten-free, since some varieties may contain wheat-based additives.

Why is my fried rice sticky instead of fluffy and separate?

Sticky fried rice is usually a sign the rice was too fresh or too moist, or that the wok wasn’t hot enough. Use chilled day-old rice, break up clumps by hand before cooking, and make sure your wok is smoking hot before adding the rice.

Authentic Nasi Goreng Recipe

Prep time: 5 min | Cook time: 20 min | Total time: 25 min | Servings: 4

Ingredients

For the Marinated Tempeh

  • 200 grams tempeh, cut into bite-sized cubes
  • 1 tablespoon kecap manis (sweet soy sauce)
  • 1 tablespoon soy sauce or tamari (for gluten-free)
  • 2 tablespoons sambal oelek or chili paste
  • 1 tablespoon vegetable oil or peanut oil, for frying

For the Quick Pickled Vegetables (Acar)

  • 1/2 cup rice vinegar (mixed with equal parts water)
  • 1 cup diced carrots, cucumbers, and/or green beans
  • 1 teaspoon palm sugar or brown sugar
  • Pinch of salt

For the Fried Rice

  • 3 cups cooked jasmine rice, day-old and chilled (about 600g)
  • 4 cloves garlic, minced
  • 1 small onion or 4 shallots, thinly sliced
  • 2 fresh red chilies, sliced
  • 2 tablespoons vegetable oil or peanut oil (1 tablespoon for aromatics, 1 tablespoon for rice)
  • 2 tablespoons kecap manis (sweet soy sauce)
  • 1 tablespoon soy sauce or tamari
  • 1 tablespoon sambal oelek or chili paste
  • Salt and white pepper, to taste

For Topping & Garnish

  • 4 large eggs
  • Oil, for frying eggs
  • Fresh cilantro or fried scallions
  • Lime wedges, for serving

Instructions

  1. In a bowl, toss the tempeh cubes with 1 tablespoon kecap manis, 1 tablespoon soy sauce, and 2 tablespoons sambal. Let marinate for 10-15 minutes to infuse it with sweet-spicy flavor. Heat 1 tablespoon of vegetable oil in a wok or large skillet over medium-high heat, add the tempeh, and pan-fry until golden brown and slightly crisp on all sides, about 5-7 minutes. Remove to a plate and set aside.
  2. In a small bowl, mix the rice vinegar with an equal part water, a pinch of palm sugar, and a pinch of salt. Add the diced carrots, cucumbers, or green beans and let sit for at least 10 minutes (or refrigerate longer) while you prepare the rest of the dish. Drain before using.
  3. Wipe the wok clean and add 1 tablespoon of vegetable oil. Add the sliced shallots (or onion), minced garlic, and sliced chilies. Stir-fry for 1-2 minutes until fragrant and the shallots soften, being careful not to burn the garlic.
  4. Add the drained pickled vegetables to the wok and stir-fry for another 2 minutes until they just start to tenderize. Season with a pinch of salt and a dash of white pepper.
  5. Heat the remaining 1 tablespoon of vegetable oil in the wok and increase the heat to high until shimmering. Break up the chilled day-old rice with your hands into individual grains, then add it to the wok in batches. Drizzle with the remaining 2 tablespoons of kecap manis and 1 tablespoon of soy sauce, and add the remaining 1 tablespoon of sambal (or more to taste). Toss thoroughly and stir on high heat for 3-4 minutes, letting a bit of char develop for that authentic smoky flavor.
  6. Return the fried tempeh to the wok and toss everything together, breaking up any remaining rice clumps. Stir for another minute so the tempeh is heated through and coated in sauce. Taste and season with extra soy sauce or salt if needed, then remove from heat.
  7. In a separate nonstick skillet over medium-high heat, add a bit of oil. Crack in an egg and fry until the edges are crispy and the yolk stays runny (cover briefly for sunny-side up whites). Season with salt and pepper and repeat for all eggs.
  8. Divide the hot fried rice among serving bowls or plates. Top each with a fried egg and a side of pickled vegetables. Sprinkle with fried shallots, cilantro, and a squeeze of lime. Serve immediately while hot.

For an extra layer of authentic flavor, add a splash of shrimp paste (terasi) or a spoonful of dried shrimp when frying the aromatics. Leftover rotisserie chicken or shrimp can be stirred in alongside the tempeh for a heartier, mixed-protein version.


Leave a Reply