Get the weekly newsletter
Beginner/25 min/Serves 3/Other/Medium spice

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

Time25 min
Servings3
SkillBeginner
CuisineOther
SpiceMedium
Best forDinner, Lunch
Calories / serving420
AllergensSoy, Gluten

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

Free from
SulphitePeanutTree Nuts
Contains
SoyGluten

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.