Indonesian Fried Rice Nasi Goreng Recipe: Sweet Soy and Aromatic Spice Balance

Indonesian Fried Rice Nasi Goreng Recipe: Sweet Soy and Aromatic Spice Balance

This Indonesian fried rice delivers the perfect balance of sweet soy sauce and aromatic spices in every bite. I developed this version after testing multiple ratios to capture the authentic nasi goreng flavor profile.

The dish comes together quickly with day-old rice, fresh aromatics, and a few key seasonings. High heat and constant stirring create that signature slightly crispy texture while keeping each grain separate.

What emerges is a fragrant, golden-brown rice studded with vegetables and protein, all tied together with that distinctive sweet-savory sauce. The aroma alone will transport you to a Jakarta street food stall.

Serve with a fried egg on top for the complete experience. This recipe scales easily for feeding a crowd.

👨‍🍳
Difficulty
Medium
🍗
Diet
Poultry
⏱️
Total Time
30 min
🔥
Calories
Med Cal

Ingredients for Indonesian Fried Rice Nasi Goreng

Pantry staples meet fresh aromatics for that authentic Jakarta street food flavor.

Ingredient Amount Notes
Day-Old Cooked Jasmine Rice 🍚 4 cups Cold, preferably overnight
Sweet Soy Sauce 🫕 3 tbsp Indonesian kecap manis preferred
Regular Soy Sauce 🫕 1 ½ tbsp Low-sodium if available
Shallots 🧅 2 whole Finely minced for sweetness
Garlic Cloves 🧄 3 cloves Minced for aromatic base
Red Chili Peppers 🌶️ 2 whole Thinly sliced, adjust to taste
Ground Coriander 🌿 1 tsp Freshly toasted for depth
Ground Cumin 🌿 ½ tsp Warm, earthy note essential
Turmeric Powder 🟡 ¼ tsp For golden color and warmth
Chicken Thighs 🍗 1 lb Boneless, skinless, diced
Carrots 🥕 1 whole Julienned for texture contrast
Green Onions 🧅 3 whole Sliced, green parts for garnish
Large Eggs 🥚 4 whole For topping, fried sunny-side up
Vegetable Oil 🫒 3 tbsp High smoke point for frying
Lime 🍈 1 whole Cut into wedges for serving

The sweet soy sauce is non-negotiable here—ABC brand kecap manis is the gold standard (find it at Asian markets or the international aisle). Day-old jasmine rice is key for that separate-grain texture (fresh rice gets mushy). For the chicken, bone-in thighs work too—just remove the skin and bone before dicing. Shallots and garlic should be fresh, not jarred. Turmeric gives that signature golden hue, so don’t skip it.

No kecap manis? Mix 2 tbsp regular soy sauce + 1 tbsp molasses + 1 tsp brown sugar as a quick fix. Out of chicken? Shrimp or firm tofu work beautifully (press tofu first to avoid soggy rice). Can’t find shallots? Yellow onions at double the amount get you close. The chili peppers can be reduced or omitted if you’re sensitive to heat (or swapped for sambal oelek if you want fire without fuss).

Leftover nasi goreng reheats like a dream—3-4 days in the fridge, though the texture is best fresh. The fried eggs are best made to order, but the rice itself holds up well. Freeze extras for up to 2 months (thaw in the fridge overnight before reheating).

❤️

Why You’ll Love This Recipe

  • 20-Minute Meal: I can throw this together faster than ordering takeout—just chop shallots and garlic, toss with day-old rice and sauces, and dinner’s done.
  • Sweet-Savory Perfection: The mix of sweet soy sauce and regular soy sauce gives it that signature Indonesian balance—sticky, caramelized, and totally addictive.
  • Feeds the Crowd: I make a big batch for Sunday brunch, and it disappears as fast as I serve it. Leftovers? Even better the next day.
  • Budget Stretcher: Here’s what sold me—it turns yesterday’s leftover jasmine rice into a meal that feels fancy but costs almost nothing.

Step-by-Step Instructions for Indonesian Fried Rice

Here’s the method I use for fragrant, perfectly balanced nasi goreng with that signature sweet-savory depth.

Step 1: Prep Ingredients and Make Spice Paste

Finely mince the 2 whole Shallots and 3 cloves Garlic Cloves, then thinly slice the 2 whole Red Chili Peppers. In a small bowl, combine 1 tsp Ground Coriander, 0.5 tsp Ground Cumin, and 0.25 tsp Turmeric Powder with 1 tablespoon of water to form a thick paste.

This paste is the flavor foundation. I’ve found that toasting the coriander and cumin first deepens their aroma, but pre-ground works fine in a pinch. Dice the 1 lb Chicken Thighs into ½-inch pieces and julienne the 1 whole Carrots. Slice the 3 whole Green Onions, separating white and green parts.

Step 2: Cook Chicken and Vegetables

Heat 1 tablespoon Vegetable Oil in a wok or large skillet over medium-high heat. Add the diced chicken and cook for 5-6 minutes until it’s no longer pink and the edges are starting to brown. Remove the chicken and set aside.

In the same pan, add another 1 tablespoon Vegetable Oil, then sauté the shallots, garlic, and chili peppers for 2-3 minutes until fragrant. Stir in the spice paste and cook for 1 minute until the oil turns slightly red from the turmeric. Add the carrots and cook for 2 minutes until they begin to soften.

Step 3: Combine Rice and Seasonings

Increase heat to high and add the remaining 1 tablespoon Vegetable Oil. Add all 4 cups Day-Old Cooked Jasmine Rice, breaking up any clumps with your spatula. Stir-fry for 3-4 minutes until the rice is hot and slightly crispy in spots.

Return the chicken to the pan. Drizzle in 3 tbsp Sweet Soy Sauce and 1.5 tbsp Regular Soy Sauce evenly over the rice. Toss everything together for 2-3 minutes until the rice is uniformly coated and deeply colored. The sweet soy sauce should create a glossy sheen on the grains.

Step 4: Finish with Eggs and Garnish

Push the rice to one side of the pan. Add a little more oil if needed and fry the 4 whole Large Eggs sunny-side up directly in the pan. Once the whites are set but yolks are still runny (2-3 minutes), slide them onto the rice.

Garnish with the green parts of the 3 whole Green Onions and serve immediately with lime wedges on the side for squeezing. The contrast of the runny yolk with the crispy rice edges and aromatic spices is what makes this dish special. Taste and adjust seasoning if needed, though the soy sauces should provide enough saltiness.

👨‍🍳

Pro Tips For Making Indonesian Fried Rice Nasi Goreng

  • Use Cold Rice: Day-old jasmine rice from the fridge works best—fresh rice turns mushy. I learned this the hard way after my first few attempts ended up like porridge.
  • High Heat Only: Crank the heat to high and keep the wok or pan screaming hot. After burning three batches, I finally figured out this is how you get that signature smoky wok hei flavor.
  • Prep Shallots Fine: Dice the shallots and garlic as small as possible—almost paste-like. Sounds weird, but it works: tiny pieces distribute flavor evenly without overpowering any single bite.
  • Sauce Last: Add the sweet soy sauce and regular soy sauce at the very end of cooking. My grandmother swore by this, and she was right: it prevents the rice from turning soggy and keeps the flavors bright.

Creative Variations of These Flavors

Vegetarian Delight

Swap the chicken for 1 lb firm tofu, pressed and crumbled to mimic ground meat. Sear it first in 1 tbsp oil until golden, then set aside. The tofu soaks up the sweet soy sauce beautifully, giving you that same rich flavor without meat. 🌱

Seafood Special

Use 1 lb shrimp peeled and deveined instead of chicken. Cook them first until pink (2-3 minutes per side), then remove and add back at the end. The shrimp stays tender and pairs wonderfully with the aromatic spices.

Spicy Kick

Add 1 tbsp sambal oelek to the spice paste for heat lovers. This Indonesian chili paste brings authentic fire. I sometimes mix it with a bit of sriracha for extra depth. Adjust to your tolerance level.

Breakfast Twist

Turn this into a morning dish by adding ½ cup diced bell peppers with the carrots. Top each serving with a fried egg and serve with extra lime wedges. The bright colors make it perfect for brunch.

Pineapple Sweetness

Fold in 1 cup diced fresh pineapple at the end with the soy sauces. The fruit’s natural sweetness complements the kecap manis perfectly. This is a popular variation in some regions of Indonesia.

Extra Crispy

For more texture, spread the cooked rice on a baking sheet and broil for 2-3 minutes before adding the soy sauces. This creates extra crispy bits that add wonderful contrast to each bite.

Nutrition Facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value
Total Fat 28g36%
Saturated Fat 7g35%
Cholesterol 280mg93%
Sodium 1200mg52%
Total Carbohydrate 52g19%
Dietary Fiber 3g11%
Sugars 8g
Protein 32g64%
Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently Asked Questions

1

Can I use fresh rice instead of day-old?

Day-old rice works best for that signature separate-grain texture. Fresh rice tends to be too moist and can turn mushy when stir-fried. If you must use fresh, spread it on a tray and refrigerate for 1-2 hours to dry it out first.

2

What can I substitute for sweet soy sauce?

Mix 2 tbsp regular soy sauce with 1 tbsp molasses and 1 tsp brown sugar for a quick fix. While not identical, it provides similar sweet-savory depth to kecap manis.

3

How do I make this dish vegetarian?

Replace chicken with 1 lb firm tofu, pressed and crumbled. Sear it first until golden, then proceed with the recipe. The tofu absorbs the flavors beautifully.

4

Can I prepare this ahead of time?

Yes! Cook the rice mixture completely, then store in the fridge for up to 3-4 days. Fry the eggs fresh when reheating. The rice actually tastes better the next day as flavors meld.

★★★★★4.5(5 reviews)
Tyler Campbell