Vegan Nasi Goreng
Indonesian fried rice, built around kecap manis, the sweet soy sauce that caramelises the grains and gives the dish its dark, glossy colour. This is a plant-based take on the version you find across Bali, using crisp tofu and skipping the non-vegan bits the classic usually includes.
By Vegan Cook. Published 6 August 2026
Ingredients
Serves 3.
- 3 cupscooked rice, cold and day-old (fresh rice turns sticky)
- 200 gfirm tofu, pressed and cubed
- 3 tbspkecap manis (see note below to make your own)
- 2 tbspsoy sauce or tamari
- 1 tbspsambal oelek or chilli paste, or to taste (check it is vegan)
- 1onion, finely chopped
- 4 clovesgarlic, minced
- 2shallots, thinly sliced
- 1carrot, finely diced
- 1/2 cupgreen beans, cut into 1cm pieces
- 3spring onions, sliced, whites and greens separated
- 3 tbspneutral oil, divided
- to servecucumber slices, tomato wedges, lime, fried shallots
Cookware
- Wok or large frying pan
- Small bowl for the sauce
Method
Read each step end-to-end before starting.
- 01
Make kecap manis if needed
If you do not have kecap manis, make a quick version by simmering 2 tbsp soy sauce with 2 tbsp brown or coconut sugar over low heat for 2-3 minutes until it turns syrupy. This sweet, thick soy sauce is the single ingredient that makes nasi goreng what it is, so do not skip it.
- 02
Crisp the tofu
Pat the tofu cubes very dry. Heat 1 tbsp of the oil in a wok over medium-high heat and fry the tofu, turning, for 6-8 minutes until golden and crisp on several sides. Remove and set aside.
- 03
Build the aromatic base
Add the remaining 2 tbsp oil to the wok. Fry the onion, shallots and spring onion whites over medium heat for 4-5 minutes until soft and lightly golden, then add the garlic and cook for 1 minute until fragrant.
- 04
Add the vegetables
Turn the heat to high, add the carrot and green beans, and stir-fry for 2-3 minutes until they are tender but still have bite.
- 05
Fry the rice
Break up any clumps in the cold rice with your hands. Add it to the wok and toss constantly for 2 minutes, pressing it against the hot pan between tosses so it catches and crisps rather than steaming.
- 06
Sauce and finish
Pour in the kecap manis, soy sauce and sambal, and toss for 2-3 minutes until every grain is coated a deep, even brown and the rice is piping hot. Fold the crisp tofu back in along with the spring onion greens.
- 07
Serve
Plate with cucumber slices, tomato wedges, a wedge of lime to squeeze over, and a scatter of fried shallots on top.
Allergen profile
Every recipe here is fully plant-based. Cross-contamination risk depends on your kitchen, so check all packaging.
Swap note
Contains soy and gluten from the soy sauce, kecap manis and tofu. Use tamari and a tamari-based kecap manis to make it gluten-free. Not adaptable to soy-free, as soy is structural to the dish. Kecap manis is normally vegan, just soy sauce, sugar and aromatics, but it is worth a quick label check, since a few brands add seafood-derived flavourings. The same goes for ready-made sambal. If in doubt, the method includes a homemade kecap manis you control completely.