Nasi goreng is Indonesian fried rice built on day-old rice, kecap manis (sweet soy sauce), and high heat. This vegan version swaps the traditional shrimp paste for mushroom powder and uses a turmeric-spiced tofu scramble in place of the fried egg — so you get a genuinely filling, protein-forward meal from a single pan. It comes together in about 20 minutes once your rice is cold, which makes it one of the more practical weeknight options in this category.
What makes this version work
Two things matter most here. First, cold rice — ideally refrigerated overnight. Freshly cooked rice is too wet; it steams instead of frying, and you lose the slightly chewy, separated texture that defines the dish. Second, the kecap manis goes in at the end, not the beginning. Add it too early and it scorches before the rice heats through. Add it in the final 60 to 90 seconds, tossing constantly over high heat, and it coats every grain with that glossy, caramelized finish. The mushroom powder does quiet but real work here too — it fills the umami gap left by traditional shrimp paste without announcing itself.
Smart swaps
- Kecap manis: Not always easy to find. Mix 2 tablespoons of regular soy sauce with 1 tablespoon of brown sugar or coconut sugar and simmer for 2 minutes until slightly thickened. It works well.
- Mushroom powder: Blitz dried shiitake mushrooms in a spice grinder, or use a small amount of miso paste (about half a teaspoon) stirred in with the soy sauce.
- Kala namak (black salt): This is what gives the tofu scramble its egg-like sulfur note. It is worth buying a small bag — it lasts a long time and pulls double duty in any tofu scramble recipe. Regular salt is a fine substitute but the flavor difference is noticeable.
- Firm tofu: Extra-firm works better if you want the scramble to hold its shape and add more chew. Press it well either way.
Storage and reheating
Store leftovers in an airtight container in the fridge for up to 3 days. The tofu scramble keeps fine alongside the rice — no need to store them separately. To reheat, use a skillet over medium-high heat with a small splash of water or soy sauce to loosen things up; about 3 to 4 minutes, stirring frequently. Microwaving works in a pinch but the rice loses its texture. This dish freezes reasonably well for up to 6 weeks — portion it before freezing and thaw overnight in the fridge before reheating in a pan.
Mistakes to avoid
- Crowding the pan: Too much rice at once drops the pan temperature and you get steamed, clumpy rice instead of fried. If you are doubling the recipe, cook it in two batches.
- Skipping the shallot caramelization: Rushing this step — moving on before the shallots are deep golden — leaves the base flavor flat. Give them the full time they need before adding garlic and chili.
- Adding kecap manis too early: The sugar in it burns fast. Hold it back until the rice is fully hot and you are in the final minute of cooking.
- Under-seasoning the tofu scramble: The scramble needs its own seasoning before it goes into the rice. Taste it on its own first — bland tofu going into a saucy rice dish stays bland.
- Serving it straight from the pan without the cucumber: Skip the garnish — not worth the extra dish is not true here. The cool, plain cucumber genuinely cuts through the richness of the rice and makes the whole plate more balanced.
Vegan Nasi Goreng
Equipment
- Wok or large 12-inch skillet
- High-heat spatula or wok spatula
- Chef’s knife and cutting board
- Small mixing bowl
- Measuring cups and spoons
- Sheet pan (for cooling/drying rice, optional)
- Rice cooker or pot (for cooking rice ahead, optional)
- Infrared thermometer (optional)
Ingredients
For the Base & Aromatics:
- 3 tbsp neutral high-heat oil (peanut, rice bran, or avocado), divided high smoke point oil prevents burning; use fresh oil for best flavor
- 14 oz firm tofu, drained and well-crumbled pat dry for better browning
- ¼ tsp ground turmeric for color and warmth in the tofu “egg”
- ¼ tsp black salt (kala namak) adds an eggy aroma to the tofu
- 3 medium shallots, thinly sliced about 1 packed cup; choose firm, heavy shallots
- 4 cloves garlic, minced fresh, sticky-firm cloves for best aroma
- 2 pieces red Thai chiles, finely sliced adjust to heat tolerance; seed for milder heat
- ½ cup carrot, small-diced for sweet crunch and color
- 2 cups napa cabbage, finely shredded green cabbage works too
- 4 cups cooked jasmine rice, day-old and cold dry, separate grains are essential for wok-frying
For the Sauce:
- 3 tbsp kecap manis (vegan) look for Indonesian brands; ensure no fish/shrimp ingredients
- 1 tbsp low-sodium soy sauce or tamari tamari for gluten-free
- 1 tsp tamarind paste (concentrate) balances sweetness and adds tang
- ½ tsp mushroom umami powder or finely ground dried shiitake boosts savoriness in lieu of shrimp paste
- ¼ tsp ground white pepper classic Indonesian seasoning
To Finish & Garnish:
- 4 pieces scallions, thinly sliced use both white and green parts
- 1 tbsp fresh lime juice brightens the finish
- 1 small cucumber, thinly sliced for cool contrast
- 1 medium tomato, cut into wedges ripe but firm
- ½ cup crispy fried shallots store-bought or homemade
- ¼ cup fresh cilantro leaves optional, for herbal lift
- 2 tbsp sambal oelek or favorite vegan chili sauce, for serving optional heat on the side
Instructions
- Dry the Rice (if not day-old): Spread 4 cups cooked jasmine rice on a sheet pan and refrigerate, uncovered, while you prep (20–30 minutes). For a faster option, place in a 200°F (95°C) oven for 10–12 minutes to dry the surface, then cool. Separate any clumps with your fingers.
- Make the Sauce: In a small bowl, whisk together 3 tbsp kecap manis, 1 tbsp soy sauce (or tamari), 1 tsp tamarind paste, 1/2 tsp mushroom umami powder, and 1/4 tsp white pepper. Set aside; it should smell sweet-savory with a gentle tang.
- Prep Aromatics and Veg: Thinly slice shallots, mince garlic, slice chiles, small-dice carrot, shred cabbage, and slice scallions. The shallots should be glossy and aromatic when cut; keep everything organized for quick wok work.
- Make the Tofu “Egg”: Preheat a wok over medium-high heat for 2 minutes until a drop of water skitters (about 375–400°F / 190–205°C at the surface if using an IR thermometer). Add 1 tbsp oil, crumble in tofu, season with 1/4 tsp turmeric and 1/4 tsp kala namak. Stir-fry 4–5 minutes until lightly golden with some crisp edges. Transfer to a plate.
- Fry Aromatics: Return wok to high heat until just smoky. Add remaining 2 tbsp oil, then the sliced shallots. Stir-fry 2 minutes until edges turn deep golden and sweet. Add garlic and chiles; cook 30–45 seconds until fragrant—avoid browning the garlic.
- Add Vegetables: Stir in diced carrot for 1 minute, then cabbage for 1–2 minutes until just wilted and vibrant. The mixture should be glossy and sizzling actively.
- Wok-Fry the Rice: Add the cold rice, breaking clumps with the spatula. Toss and press rice against the hot wok to pick up a whisper of char (wok hei) for 2–3 minutes until steaming hot and separate.
- Sauce and Stain: Pour the sauce around the wok’s perimeter so it sizzles, then toss vigorously for 1–2 minutes until every grain turns a glossy, dark mahogany. If it looks dry, add 1–2 tsp more kecap manis.
- Finish: Fold in the tofu scramble and sliced scallions. Drizzle 1 tbsp lime juice. Taste and adjust with a pinch of salt, extra chili, or kecap manis as desired. Remove from heat—the rice should smell sweet-savory with subtle smoke.
- Plate and Garnish: Mound rice in warm bowls or on plates. Garnish generously with crispy fried shallots, cilantro leaves, cucumber slices, and tomato wedges. Serve with lime wedges and sambal on the side.
Notes
Mary’s Tips:
- Day-Old Rice is King: Cook rice with slightly less water than usual, spread to cool, and refrigerate overnight for drier grains.
- No Kecap Manis? Simmer 2 tbsp soy sauce with 1–1 1/2 tbsp coconut sugar and a few drops of molasses until syrupy; cool and use.
- Umami Boost: A pinch of MSG or extra mushroom powder deepens savoriness (traditional versions use shrimp paste; this is your vegan stand-in).
- Wok Hei at Home: Work in batches if your pan is small. Overcrowding steams the rice. High-heat oil helps prevent sticking.
- Protein Swaps: Try tempeh cubes or shredded jackfruit seared until browned before the rice stage.
- Gluten-Free: Use tamari and a certified GF kecap manis.
- Faster Caramelized Shallots: Add a pinch of salt early and spread them in a single layer to encourage quick browning.
- Leftovers keep 2–3 days refrigerated; reheat in a hot pan with a splash of water. If rice clumps after chilling, gently crumble it by hand before it hits the wok.
- Adjust chili level to taste—Nasi Goreng should whisper heat, not shout (unless you want it to!).
Serving Suggestions:
For a restaurant finish, press rice into a small bowl and unmold into neat domes. Crown with a tuft of tofu “egg,” shower with crispy shallots, and tuck cucumber fans and tomato wedges to the side. Aim for contrasting colors—deep brown rice, bright green scallions and cilantro, ruby tomato—plus a perfumed halo of garlic and kecap. Pair with quick acar pickles and iced lime tea or a crisp lager.Culinary Context:
Often called Indonesia’s national dish, Nasi Goreng varies across the archipelago but reliably features kecap manis, chilies, and wok-kissed rice. Traditional versions may include shrimp paste and fried egg; here, mushroom umami and kala namak recreate that depth, keeping the spirit intact while staying wholly plant-based. I first learned to balance sweet and smoke from a Jakarta street vendor—the secret was patience with the shallots and heat discipline.Optional Advanced Instructions:
- Make-Ahead: Cook and chill rice 1–2 days in advance. Mix the sauce up to 1 week ahead and refrigerate.
- Crispy Shallots: For extra crunch, fry thin shallot rings in 350°F (175°C) oil until golden; drain on paper towels and salt lightly.
- Beginner Alternative: If you don’t have a wok, use a heavy 12-inch skillet. Work over medium-high and cook in two batches to keep the sizzle.
- Mortar Vs. Knife: Pounding aromatics in a mortar gives a paste and deeper flavor; mincing with a knife works fine and is faster.
Timing:
- Prep Time: 25 minutes.
- Cook Time: 15 minutes. These match the steps above (tofu 4–5 min, aromatics 2–3 min, veg 2–3 min, rice+sauce 3–4 min, finishing and plating 2–3 min).
Nutrition
Frequently asked questions
Can I use freshly cooked rice instead of day-old rice?
You can, but spread it on a baking sheet and refrigerate it uncovered for at least 1 to 2 hours first. Fresh rice has too much moisture and will clump and steam in the pan rather than fry properly.
Where do I find kecap manis?
Most Asian grocery stores carry it, usually near the soy sauce. If you cannot find it, the DIY version in the Smart Swaps section above is a reliable substitute that takes about 3 minutes to make.
Is this dish high enough in protein to be a complete meal?
Yes, when the tofu scramble is included. A generous serving with firm tofu provides around 18 to 22 grams of protein depending on portion size, which makes it a solid standalone meal rather than a side dish.
How spicy is this, and can I adjust it?
Heat level depends on the sambal or fresh chili you use — the base recipe is mild to medium. Add more fresh red chili or a spoonful of sambal oelek at the end if you want more heat, or leave the chili out entirely for a mild version.
Can I add more vegetables to bulk it up further?
Absolutely. Thinly sliced cabbage, frozen peas, corn, or diced carrot all work well. Add harder vegetables with the shallots and softer ones like peas in the last 2 minutes so nothing goes mushy.
My rice is sticking to the pan — what am I doing wrong?
The pan is probably not hot enough before the rice goes in, or there is not enough oil. Let the pan get properly hot first, add oil, and wait a few seconds before adding the rice. A carbon steel wok or a heavy stainless skillet holds heat better than a nonstick pan for this.
If you liked this one
- Indonesian Gado-Gado Peanut Salad
- Vegan Indonesian Rice Bowl
- Vegan Malaysian Laksa Soup
- Vegan Thai Drunken Noodles
