Tofu paired with vegetables and rice is a very classic vegan dish, but this Creamy Coconut Rice with Five Spice Tofu takes this combo over the top.
This unique dish is inspired by the popular New York Times’ Sticky Coconut Chicken and Rice recipe and is layered with creamy coconut milk-infused rice, Chinese five spice tofu crumbles, nutrient-rich vegetables, and crunchy peanuts. It all gets baked in the oven until perfectly tender.
Every bite is creamy, comforting, fragrant, and a textural delight. It’s a complete and satisfying bowl you can easily turn to for a weeknight meal or a nourishing meal prep option.
Table of Contents:
1. Why this recipe works
2. Ingredient notes
3. Tips for making this recipe
4. Frequently Asked Questions
5. Recipe card with notes
Why this recipe works
Incredible texture contrast.
The textures in every layer of this over-the-top rice bowl will keep you diving in for more. The sticky, creamy coconut milk-infused rice, almost akin to vegan risotto, is studded with nutty, subtly crunchy peanuts. Chewy, almost meaty tofu crumbles keep you full and carrots and bell peppers get deliciously tender in the oven. Each bite is full of surprises!
Complex and super fun flavors.
A classic Chinese trio of aromatics—scallions, ginger, and garlic—starts this vegan rice bowl off with a flavorful base before a delightful blend of white pepper, Chinese five spice powder, coriander, and turmeric is added.
White pepper and Chinese five spice powder are a powerful duo. The white pepper brings a punchy, fruit brightness while the five spice powder adds its iconic sweet warmth and anise notes.
There’s harmony and balance in every bite thanks to the handful of deeply savory and subtly sweet ingredients. It may taste gourmet but it’s pretty weeknight friendly.
PS: If the sound of a super flavorful and unique tofu dish sounds right up your alley, you must try this Chinese Braised Tofu!
A big batch, well-balanced recipe.
This recipe makes a generous amount, meaning you can enjoy the leftovers for quick and easy meals or healthy lunches days later. There’s also enough here to feed the entire family!
Plus, it’s got everything you need in a dinner: protein, fiber, fat, and veggies! And it’s naturally vegan and gluten-free.
Need to get it all on the table in a hurry? As explained in the Tips section, there are plenty of ways to cut down on prep time.

Ingredient Notes
Medium-grain white rice. While long-grain rice is great as a base for dishes like stir-fries and curries, medium-grain rice is perfect when you want something creamy. Its grains are plumper and contain more starch, yielding a creamy, slightly sticky consistency.
Tips for buying: We used Calrose rice (affiliate link), which is sold at most grocery stores. You can also try this with arborio rice, the rice typically used for risotto. Or, you can try this with short-grain rice (AKA “sushi rice”); the results are stickier and less creamy.
Tofu. This is the main protein source here, making this rice bowl a well-rounded meal.
If you can, use super-firm tofu. It has very little water in it, which results in (1) a chewy, more meat-adjacent texture and (2) a quicker prep time (since you won’t have to drain the excess water beforehand).
Substitute: Extra-firm tofu works, but you’ll need to press it first (instructions are in the recipe card).
Chinese five spice powder. This is a Chinese spice blend of fennel seeds, star anise, cinnamon, cloves, and Sichuan (or white) peppercorns. It makes this dish sing with so much flavor: sweet, slightly spicy, tingly, and anise. It’s one of my favorite-ever spice blends.
Tips for buying: Do not skip this, as it’s one of the main flavors in this dish! It adds incredible fragrance, warmth, and a certain je nais se quois flavor. It’s available at many grocery stores (including Vons/Safeway, Whole Foods, Sprouts, Walmart), Asian grocers, or online (affiliate link).
Peanuts. Roasted, salted peanuts pepper this creamy rice dish with a delightful yet subtle crunch (they soften as the rice cooks). I can’t emphasize enough how good each bite is with a little peanut bit!
Substitute: Use roasted, salted cashews if allergic to peanuts. If allergic to all nuts, use ¼ cup of toasted sesame seeds and garnish with more at the end.
Cantonese aromatics. Scallions, ginger, and garlic are often used as the flavor base in mild and delicate Cantonese cooking, and that’s what we start with here. To give this dish a moderate amount of heat, sauté a chile pepper along with the aromatics.
Coconut milk. There is, of course, coconut milk in our coconut rice. It makes the rice fragrant, as well as creamy and slightly indulgent. It also seeps into the tofu, adding even more richness.
Substitute: For a lighter dish, you can try using “lite” canned coconut milk instead of full-fat (affiliate link).
Vegetables. I used carrots and red bell pepper, but you can swap these with your favorites or what you have on hand. I’ve included a few suggestions for you in the Tips section.
Lime + cilantro. To brighten this cozy, warming dish. Lime zest adds a lovely zing and pep.

Tips for making this recipe
Save time on the night of cooking.
Chop all of the vegetables and aromatics, crumble the tofu, and mix the spices together a few days before making this recipe. Keep them in separate containers in the fridge (except the spices – they’re fine on the kitchen counter). With all of the prep out of the way, dinner will be ready in 35 minutes!
And multitask!
You can get this recipe on the table even faster by multitasking. As the tofu is cooking, get started on the aromatics and rice. The tofu doesn’t need to be stirred often, so as long as you’re comfortable in the kitchen, you should be able to tend to both pots at once.
Customize the vegetables.
Mix and match the veggies with what you like! I recommend substituting an equal amount of small-cut cauliflower or broccoli florets for the carrots. And while I love the sweetness of the bell pepper, you could use shredded cabbage, thinly sliced bok choy, or snap peas instead.
To get crispy, meaty tofu…
(1) Opt for super-firm tofu, and (2) don’t stir the tofu crumbles too often so they can brown nicely. Aim to stir them every 2 minutes. If you notice a few pieces still look raw, flip those pieces raw-side down so they can begin to brown. The result is remarkably meaty tofu that’s chewy with a subtly crispy exterior.
Are you using extra firm tofu? Make sure to press all of the excess water out for at least 10 minutes (do this while you prep the rest of the ingredients). This will help it crisp up and make the inside nice and chewy.
And when you really want to take the texture up a notch, use frozen, then defrosted tofu. It’s the method I use to take my Marinated Tofu and Tofu Curry over the top.
Make this your go-to tofu.
One bite of the five-spice flavored tofu crumbles and you’ll want to put them on everything! They’re a perfect plant-based protein on rice and grain bowls and salads, and go great with these 15-Minute Chili Garlic Noodles.

Frequently Asked Questions
You can store the leftover rice and tofu in an airtight container in the fridge for 4 to 5 days. It’s best to reheat it in a saucepan or skillet over medium heat to revive the textures, but the microwave also works in a pinch.
I don’t recommend freezing leftovers. The textures just aren’t the same when thawed.
You can use “lite” canned coconut milk for a lighter dish (affiliate link). If you have an aversion to coconut products, full-fat, plain-flavored oat milk might work. Just know that it isn’t as creamy, so the finished dish may be looser and lacking richness.
Edamame is a protein-packed alternative (1 cup has 18 grams of protein) that doesn’t take as much effort to cook as the tofu. If you’re allergic to soy, omit the tofu and bulk it up with the vegetables of your choice instead.

That’s all you need to know about making this flavor-packed Creamy Coconut Rice with Five Spice Tofu! If you love this recipe, please rate and review it below!
Creamy Coconut Rice with Five Spice Tofu

Ingredients
Five Spice Tofu
- 10 to 12 ounces (280 to 340g) super-firm tofu (or extra-firm tofu) (Note 1)
- 1 heaping teaspoon kosher salt
- 1 heaping teaspoon Chinese five spice powder
- 1 teaspoon onion powder
- 2 tablespoons neutral-flavored oil such as avocado or grapeseed oil
Rice and Vegetables
- 1 1/2 tablespoons neutral-flavored oil
- 1 bunch scallions (about 6), sliced thinly (save dark greens for garnish)
- 6 garlic cloves, finely chopped
- 1 ½ inch piece ginger, minced or grated
- 1 serrano or Fresno chile pepper, finely chopped (Note 2)
- 4 medium carrots scrubbed and chopped (or 2 heaping cups / 300g small cauliflower florets)
- 1 teaspoon Chinese five spice powder
- ½ teaspoon white pepper (Note 3)
- 1 teaspoon ground coriander
- ¼ teaspoon ground turmeric
- ¼ teaspoon kosher salt
- 1 cup (200g) medium-grain white rice (e.g., Calrose or arborio rice)
- 1 ½ cups (360 mL) vegetable broth
- 1 (13.5-ounce / 400 mL) can full-fat coconut milk (Note 4)
- 1 tablespoon tamari or soy sauce (tamari for GF)
- 1 teaspoon agave nectar or maple syrup
- 1 small or medium red (or orange or yellow) bell pepper, thinly sliced
- 2/3 cup (95g) roasted, salted peanuts, roughly chopped (Note 5)
- 1 big handful cilantro leaves and tender stems, chopped
- 1 medium lime zested and juiced
Instructions
- Prep the tofu. Slice the tofu into 4 vertical slabs. For super firm tofu, gently squeeze each slab to remove excess water. For extra firm tofu, cover the slabs with a thin dish towel or a few paper towels; weigh down with a heavy cookbook; press for 10 minutes, or while you prep the aromatics and vegetables.
- Add the rice to a bowl under cool tap water. Rinse and drain in a sieve until the water turns clear. It’ll take a few rounds of rinsing.
- Preheat the oven to 375ºF/190ºC.
- Season the tofu. Tear the tofu into chunks, not too big or small. Transfer to a large bowl. In a small bowl, mix together the salt, five spice powder, and onion powder. Sprinkle this over the tofu, using your hands to gently coat the tofu.
- Cook the tofu. Heat the 2 TBSP oil in a 12-inch nonstick frying pan over medium-high heat. Once hot, add the tofu and spread out in a single packed layer. Cook for 2 to 3 minutes undisturbed. Flip and continue cooking for a total of 12 to 14 minutes, stirring only every 2 minutes, until most of the tofu is browned (see Note 7).
- While the tofu cooks, heat a Dutch oven or other oven-safe pot (at least 3-quart/3L) with the oil over medium-high heat. Add the scallion whites and light greens, garlic, ginger, chile pepper, and carrots. Cook, stirring frequently, for 2 to 3 minutes. Add the five spice powder, white pepper, coriander, turmeric, ¼ teaspoon kosher salt, and stir almost constantly for 30 seconds.
- Add the rice and stir to evenly coat each grain. Pour in the vegetable broth, coconut milk, tamari, agave, bell pepper, and peanuts. Increase the heat, cover the pan, and bring to a boil. Take off the heat, add in the cooked tofu, stir to combine, and cover the pan with its lid (or tightly cover with foil if you don't have a lid).
- Transfer the pan to the oven and bake, covered, for 20 minutes, or until the rice is tender.
- Take out of the oven and stir in the cilantro, reserved scallion greens, lime zest, and 1 tablespoon lime juice. Season to taste with a few pinches of salt and pepper, adding more lime juice as needed.
Notes
Recipe: Nisha Vora / Rainbow Plant Life | Photography: Megan Morello
Super delicious! I made exactly as written, it comes together really quickly and the flavor is incredible, have made it twice in the past 5 days :) Definitely becoming part of our regular rotation.
Nisha, Nisha, Nisha,
What did I do wrong??? So much work and zero flavor. I even used a whole serrano pepper. I was so disappointed, I thought it was going to be a flavor bomb! For us it is not a weeknight meal. If I do make it again, it will be on a weekend.
Can you tell me what brand of coconut milk you use? The only thing I can think of is that my 5 spice is on the older side?
On to the next RPL recipe!
This was absolutely amazing. I dont usually like five spice but this was really good.
We’re thrilled to hear it, Cameron! Thanks for the review :)
This recipe is a flavor bomb!! We loved it so much. It is rich and like others said, makes a large quantity. The only thing I would do differently next time is to omit the peanuts in the dish and use them as a garnish instead- they complemented the flavors well but there were a bit too many for my liking and the texture of the nuts softens overnight if you have leftovers.
Hey Jessica! Wow, I can feel your enthusiasm about this recipe through the screen! Love it!
I loved this recipe! It was very creamy, and the flavors were rich and comfort food-like. The tofu was perfectly crispy and didn’t soften when cooked with the rice. I’ll be cooking this again and again for my family.
We appreciate your feedback and support, Haley. Thank you for leaving a review!
So GOOD!
It makes us happy to know you think so, Sara!
This is insane. Soooo tasty. I used jasmine rice, added red cabbage, cooked it on the stovetop until the rice was almost done, and then added the tofu back in. Thank you for this delicious recipe!
Thanks for sharing your experience with us, Jill! Great to hear the recipe was a hit.
I would love to make this dish …can I ..
1) prepare the tofu the same way…but…bake it beforehand ?
2) prepare everything as per the instructions….but….transfer to le cruset casserole dish – then place in oven as instructed ?
Hi Donna, thanks for stopping by. You can bake the tofu beforehand, but the end texture will be slightly different. Bake tofu tends to be a bit drier and chewier. The pan fried version has a nice outer crunch and mouthfeel, with a softer pillowy and slightly chewy interior. I think baking it in your Le Creuset casserole dish is not a problem, as long as you add a lid or cover it well. I hope you love it as much as we do!
Rainbow plant life never disappoints. this recipe was worth the effort. it made a huge portion and was absolutely delicious. def will make again. my husband loved it too! it got more flavorful as it sat in the fridge
Great recipe! I followed Ali’s recommendations below and cooked on the stove. Full of flavor and especially fun to cook with five spice as that was new to me.
Some suggestions:
I found the tofu to be a little too salty; I’ll do 1/2 tsp next time rather than a heaping tsp.
I used 1 1/2 Serrano peppers w/seeds and membrane (nice kick), diced jarred garlic, and minced jarred garlic to save on time.
If you make a lot of tofu, look into a tofu press. I start pressing a couple hours before I cook. This saves me a lot of paper towels.
This was delicious! The different flavors and textures were really a wonderful treat. I didn’t substitute any ingredients and my measurements for each ingredient remained as listed, but as I noticed a couple comments asking for an alternative method I’ll share what I did tonight once I realized that I had all of the ingredients, but no oven-safe pot. Essentially, I tried a risotto method. My result looked very similar to the photos and tasted amazing. To prepare the dish on the stovetop my steps were as follows:
1) Prepare the aromatics plus carrots according to step 6, but cook on the stove over medium for about 7 to 10 minutes until the carrots start to soften.
2) Add the rice and stir to evenly coat each grain. Pour in the coconut milk, tamari, agave, bell pepper, and peanuts. Stir occasionally until liquid is almost completely absorbed.
3) Add one cup of the vegetable broth, allowing it to cook down until it’s almost entirely absorbed.
4) While this is happening, cook the tofu per Nisha’s instructions in Step 5.
5) Add the remaining half cup of vegetable broth, allowing it to cook down until it’s almost entirely absorbed.
6) Once the liquid has been almost completely absorbed remove pot from heat. Fold in cooked tofu, cilantro, reserved scallion greens, lime zest, and 1 tablespoon lime juice.
From start to finish the whole process took about an hour and a half (including chopping and pressing the tofu).
Thank you for sharing what worked for you, Ali! So lovely to learn you enjoyed the recipe.
HI Nisha! I really want to make this recipe but I don’t have a dutch oven or a oven-safe pan. What can I do?
Can I transfer everything in a sheet pan?
Thank you if you can help
Hi Serena, thanks for reaching out! You could try cooking the rice on the stove instead. You would want to keep it at a rapid simmer and stir every minute or so, similar to making risotto. If using this method, I would recommend adding the tofu crumbles in at the end. If you’ve never made risotto, you can follow the instructions in this post as a guideline: https://rainbowplantlife.com/vegan-miso-butter-mushroom-risotto/
I thought I had dyed and gone to heaven eating this- it was deliciously beautiful! Tangy, spicy, meaty and creamy- so flavourful! Soooo good! If I could give this a ten star- I would! It made loads and will be finished in about two days with just myself eating it. The only thing I would say is that I unfortunately read the tip about prepping it on a different day/ weekend after I made it and next time I would do this as it took me about 45 minutes to prep cutting all the vegetables up etc and I was multi- tasking whilst doing it. I do not think it is weeknight friendly with the prep. However, the taste was worth it. So soooo good- you knocked it out the park :)
We’re so happy that the coconut rice with tofu turned out well for you, Wren. Thank you for taking the time to leave your feedback and for trying out the recipe!
This was lovely! I’d happily make this again.
Your positive feedback is the best reward for our hard work. Thank you, Jeff!
This was absolutely fantastic. I don’t know why I’m ever surprised by that since the recipes here are always great, but WOW. Also, for anyone trying to make certain protein levels, I just threw in a cup of TVP and you couldn’t taste it at all!
That’s very sweet of you to say, Sarah! We’re glad you loved the recipe, thanks for the awesome review :)
Your recipes always look so good and the videos look easy, however, this was not easy. The taste was okay not great. I was so disappointed I’m really sorry to say. It made a large amount which is hard for one person to eat in 3-4 days.
We’re sorry the recipe didn’t turn out as you’d expected, Surae. We appreciate your feedback nonetheless. In the future, feel free to halve recipes if you feel you can’t finish the full 6 servings yourself!
This was so incredibly flavorful and delicious!! Thank you for the recipe!!
Thank you for your lovely comment, Leyla! It makes us happy to know that you enjoyed the recipe.
A great combination of flavors and wasn’t too hard to make! The tofu was particularly delicious. Would definitely make again.
We appreciate your feedback and support, Colson. Thank you for leaving a review!