Nasi Goreng is a delicious Indonesian fried rice dish cooked in a sweet, salty sauce and served with veggie and protein toppings. This Vegan Nasi Goreng omits the traditional egg and meat for crispy squares of tofu instead for protein. It still has the flavors and textures you would expect with caramelized crispy rice, tangy pickles, toasted cashews, fresh tomato, lime, and fried shallots.
Jump to:
I first tried Nasi Goreng when I was vegetarian (pre-vegan days) back in 2018 on a vacation to Bali with my then boyfriend, now husband. We were staying in Ubud, which is inland and probably best known from Eat Pray Love. It’s well known as a destination for yogis and vegan foodies alike with lots of incredible restaurants serving raw, healthy and even fine dining options. You could find everything from pizza to traditional dishes at the local warungs which are small, family-run hole-in-the-wall type restaurants offering home cooked meals. I personally enjoyed eating at the warungs the best because it felt like a more local experience, and it’s also how I tried Nasi Goreng for the first time!
It left such an impression on me because although it looks humble, Nasi Goreng is the ultimate combination of textures and flavors. It’s the perfect example of how basic ingredients can make something truly amazing. Normally, Nasi Goreng is normally made with day old rice. The rice is fried with kecap manis which is kind of like a sweet, thick syrupy soy sauce and ketchup mixture. It browns, caramelizes and gets the most satisfyingly crispy fried highlights. It’s also got plenty of veggies with green beans in the stir fry, plus a topping of sour and crisp pickled carrots and cucumber. The slices of fresh tomato threw me when I first tried it (I thought it was a bit of an odd combination – some places also serve it with sliced cucumber) but the light, fresh flavor balances the heavier fried rice perfectly.
Why You’ll Love This Recipe
- Easy to make: There are a few components to this recipe, so it does take a bit of upfront time to pull everything out of your cupboard BUT the actual cooking process is quick. Once the prep is done it won’t take long and once you try it you’ll see it is 100% worth the effort.
- Flexible: Nasi Goreng is one of those resourceful dishes that is meant to be a way to use up leftovers. The kecap manis sauce brings all the flavors together, so don’t get too hung up on sticking exactly to the recipe. You can swap out veggies and proteins easily – I’ve included some notes further down in the substitutions section of this post with ideas.
- Customizable: The sweet-and-savory kecap manis glaze is delicious on its own, but you can turn up the heat with extra chili or go gluten-free by using coconut aminos instead.
Ingredients You’ll Need
Here’s a shopping list of everything you’ll need. It looks like a lot, I know! But don’t worry, most of these are pantry staples you probably already have. Scroll to the recipe card below for exact measurements.
Fresh ingredients
- Extra firm tofu
- Lebanese cucumber
- Carrot
- Shallots (or red onion)
- Garlic
- Red chilies (or sambal oelek)
- Green beans
- Spring onions
- Peanuts or cashews
- Tomato wedges
- Lime wedges
- Cooked brown rice (cooled or day old)
Pantry ingredients
- Low-sodium soy sauce
- White vinegar
- Water
- Sugar
- Salt
- Vegetable oil
- Sea salt
- Soy sauce (to make the kecap manis sauce)
- Brown sugar
- Tomato ketchup
- Fried shallots
How to Make Vegan Nasi Goreng
There are a few components to prepare to make my Vegan Nasi Goreng (tofu, pickles, cooked rice, kecap manis sauce, toppings etc). It seems like a lot, but although it’s a little fiddly, once you’ve got all your ingredients measured and prep, it comes together very quickly. I’ve broken it down in the photos below. It can be a little fiddly but trust me it’s worth it for the incredible combination of flavors.
Jump to the recipe card at the bottom of the post for the precise measurements and timings.
Step one: Cube the tofu, toss with soy sauce, and air-fry until golden and crisp.
Step two: Mix cucumber and carrot ribbons with vinegar, water, sugar, and salt to pickle.
Step three: Heat oil in a wok or large pan, then stir-fry shallots, garlic, and chilies until fragrant.
Step four: Add green beans and cook until just tender, then push everything to the side.
Step five: Mix the soy sauce, brown sugar, ketchup, and extra soy sauce in a small bowl until the sugar dissolves and the mixture is smooth.
Step six: Stir in the cold rice, break up any clumps, pour over the sauce, and toss until coated.
Step seven: Remove from heat, plate, and top with tofu, pickles, spring onions, fried shallots, nuts, tomato wedges, and a squeeze of lime.
Substitutions
The great thing I realised when I was testing out this vegan adaptation of Nasi Goreng is that I realised how flexible and forgiving the dish is! The traditional version would have an egg and meat, and even with those omitted for tofu, it still tastes excellent. You can mix up the toppings and inclusions in the stir fry and the kecap manis sauce will tie everything together. Here are some ideas for substitutions you could use:
- Green beans: could be swapped with peas, small broccoli florets or even finely chopped spinach.
- Brown rice: I chose brown rice as it is more nutritious than white but any will do! If you have some leftover rice this is a great way to use it up. Always use cooked rice that has had time to completely cool so that it doesn’t clump together and get too claggy when fried.
- Diet-friendly tweaks: If you need to make this recipe gluten free, use coconut aminos instead of soy sauce, or make it nut free by swapping the cashews for toasted pumpkin seeds.
- Pickled veg: Daikon, radish or even red onion would also be great if you are missing carrot or cucumber.
- Tofu: Can be swapped for tempeh cubes or vegan mock chicken strips. But I would encourage you to try this once with tofu, even if you don’t normally like it. I deliberately made to cube the tofu into very small pieces rather than larger pieces on skewers (which would be closer to real Nasi Goreng). The tofu is pressed first (don’t skip this step) to release excess liquid and then cubed, allowing it to soak up all the sauce flavors. Plus, the tiny cubes mean there’s almost more surface area than there is tofu.
- Kecap Manis: If you are lucky enough to have easy access to buy bottled Kecap Manis, then you should use it! I have written the recipe with a homemade combination of soy and ketchup that gets the job done.
Storage
Store the pickles, nuts, tomatoes and fried shallots in separate containers in the fridge to preserve their textures.
Allow the rice mixture to cool on the bench then once it is lukewarm, put it in an airtight container immediately and store it in the fridge. You can add the tofu to the same container. It’ll keep for 1-2 days.
You can re-heat vegan nasi goreng once safely – make sure you get it nice and hot above (read more about reheating rice safely on Medical News Today).
To reheat, add a splash of water or oil and warm it in a skillet over medium heat to bring back those crispy edges. Alternatively, microwave it covered for 1 – 2 minutes, giving it a stir halfway through.
I don’t recommend freezing as the texture won’t hold up well after thawing.
Expert Tips
Use cooked rice that has completely cooled to avoid it sticking and clumping when you stir fry it. I prefer brown rice but any variety will work – Nasi Goreng is a great way to use up day old leftover rice!
FAQ
You can pan fry or bake the tofu instead. To bake, pop the tofu in a single layer on a lined tray at 400°F (200°C) for about 20 minutes, flipping halfway. You can also pan-fry the tofu until golden on all sides. These options won’t be quite as crispy as air-frying, but it’ll still taste great.
Go for extra-firm or hard tofu. It is sometimes called different things around the world, but you’re looking for the kind of tofu that is sold in a vacuum sealed bag, not in a plastic tray. If you’re in Australia, I like Evergreen foods hard tofu. As we are cubing it into such small pieces, the tofu needs to be robust enough so it doesn’t fall apart when cooking.
Leftover rice straight from the fridge is ideal because it’s drier. If you’re starting with fresh rice, spread it on a baking sheet and let it cool for 10-15 minutes (put it in the fridge for an extra 15 minutes if you have time too). Break it up with a fork before stir-frying.
More Recipes
If this Nasi Goreng hits the spot, try another unique rice dish like Egyptian Koshari – it’s a comforting combination of lentils, macaroni and rice (unusual but it works trust me!). Another one of those humble dishes that actually tastes incredible.
My Spicy Peanut Noodles with Tofu is another comforting dish with a creamy sauce.
For something more like take out, my Sticky Orange Tofu is a Chinese inspired must-try.
Can’t wait to hear how your Nasi Goreng turns out – drop a comment below and let me know your favorite swap or topping! If you end up making it, snap a pic and tag me on Instagram or Facebook @glowdiaries___ 🙂
Nasi Goreng
Ingredients
Tofu
- 450 g extra firm tofu pressed
- ¼ cup low sodium soy sauce
Quick Pickled Cucumber and Carrot
- 1 Lebanese cucumber julienned
- 1 carrot julienned
- ¼ cup white vinegar
- ¼ cup water
- 1 tbsp sugar
- ½ tsp salt
Main Stir-Fry
- 3 tbsp vegetable oil
- 2 shallots finely sliced (or substitute with 1/2 a red onion)
- 4 garlic cloves minced
- 2 red chillies finely sliced (or 2 teaspoons sambal oelek)
- 200 g green beans ends trimmed and sliced into 3cm pieces
- 4 cups cooked brown rice (day-old is best)
- 1 tsp sea salt
Sauce (Kecap Manis)
- 3 tbsp low sodium soy sauce
- 1 tbsp brown sugar
- 1 tbsp tomato ketchup
- 1 tbsp soy sauce extra
To serve
- 2 spring onions finely sliced
- Fried shallots
- Crushed roasted peanuts or cashews
- Sliced tomato wedges
- Lime wedges
Instructions
- Cut the pressed tofu into very small cubes (about 1 cm). Toss with soy sauce. Air fry at 200°C (390°F) for 12–15 minutes, shaking halfway, until golden and crisp. Set aside.
- In a bowl, mix vinegar, water, sugar, and salt until dissolved. Add cucumber and carrot. Let sit while you cook.
- Slice green beans into 3 cm pieces. Heat oil in a large wok or frying pan over medium-high heat. Add shallots, garlic, and chillies. Stir-fry for 2 minutes until fragrant.
- Add green beans and cook for another 2–3 minutes until just tender.
- Push the veggies to the side of the pan. Add a touch more oil if needed, then add the cold rice. Break up any clumps and stir-fry for 2–3 minutes until heated through.
- In a small bowl, mix together soy sauce, brown sugar, ketchup, and extra soy sauce. Pour over the rice and toss everything together until evenly coated. Cook for another 2–3 minutes.
- Stir through half the sliced spring onions. Turn off the heat.
- Spoon the rice onto plates or bowls. Top with crispy air-fried tofu, pickled vegetables, sliced tomato wedges, the remaining spring onions, fried shallots, crushed peanuts or cashews, and a squeeze of lime.
Leave a Reply