Creamy Coconut Rice with Five Spice Tofu

Jump to Recipe
Indulge in the unique flavors and textures of this Creamy Coconut Rice with Five Spice Tofu. Well-balanced, hearty, and deliciously comforting, it’s sure to quickly become a new weeknight favorite.
Prep 25 minutes
Cook 35 minutes
Total 1 hour
4.9 from 84 votes

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

creamy golden rice and tofu with red bell peppers and scallions in a dutch oven.

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.

Need a colorful side dish to serve alongside it? Serve with a side of my Garlicky Sesame Edamame Salad!

creamy golden rice with tofu and vegetables in a black bowl on a black plate.

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. 

creamy golden rice and tofu with red bell peppers and scallions in a dutch oven with spoon dug in.

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.

creamy golden rice with tofu and vegetables in a black bowl on a black plate.

Frequently Asked Questions

How long does this dish last? How should I store and reheat it? 

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.

Can I substitute the coconut milk with something else? 

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.

Can I use something besides tofu? 

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.

closeup shot of creamy rice and tofu with red bell peppers and scallions in a dutch oven.

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

4.9 from 84 votes
Indulge in the unique flavors and textures of this Creamy Coconut Rice with Five Spice Tofu. Well-balanced, hearty, and deliciously comforting, it’s sure to quickly become a new weeknight favorite.
Prep Time: 25 minutes
Cook Time: 35 minutes
Total Time: 1 hour
Course: Dinner
Cuisine: East Asian Inspired
Diet Gluten Free, Vegan, Vegetarian
Serving size: 6


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


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


Recipe inspired by the New York Times recipe for Sticky Coconut Chicken and Rice
Note 1: Super firm tofu is really lovely here, giving the tofu a meaty, chewy texture, a great contrast to the creamy rice. 
Note 2: 1 chile pepper adds a pretty mild heat, but you can always remove the membranes or omit it for the mildest version. Or add a second pepper for more heat. 
Note 3: White pepper is brighter and fruitier than black pepper and is often used with Chinese five spice powder for an amazing explosion of flavors.
Note 4: If you want a lighter dish, you can use “lite” coconut milk. 
Note 5: Sub with roasted, salted cashews if allergic to peanuts. Or, use 1/4 cup (32g) toasted/roasted white sesame seeds if allergic to all nuts; garnish with more at the end. 
Note 6: If you don’t have a large nonstick frying pan, I recommend frying the tofu in two batches for the best texture. 

Calories: 489kcal | Carbohydrates: 47g | Protein: 16g | Fat: 28g | Saturated Fat: 11g | Polyunsaturated Fat: 7g | Monounsaturated Fat: 9g | Sodium: 1032mg | Potassium: 596mg | Fiber: 7g | Sugar: 7g | Vitamin A: 11241IU | Vitamin C: 45mg | Calcium: 132mg | Iron: 4mg

Recipe: Nisha Vora / Rainbow Plant Life | Photography: Megan Morello

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

Your email address will not be published. Required fields are marked *

Rate this recipe

139 comments on Creamy Coconut Rice with Five Spice Tofu

  1. Roderik

    5 stars

    1. Kaitlin @ Rainbow Plant Life

      So happy you think so, Roderik!

  2. Karen

    5 stars
    Another excellent recipe from Rainbow Plant Life! The flavor is amazing and this was quick enough to make for a weeknight meal. Thank you Nisha, for another great meal to add to my rotation!

    1. Kaitlin @ Rainbow Plant Life

      Awesome, Karen. Thanks for your comment and for taking the time to review!

  3. Michelle

    5 stars
    This was another home run for sure! I ran out of cilantro and skipped it but it was still so yummy. :) Another recipe I’ll be adding to the rotation. Thank you!!!

    1. Kaitlin @ Rainbow Plant Life

      Michelle, So glad to hear you loved this recipe!

  4. Amalynne

    5 stars
    Probably my favorite recipe of yours. Absolutely delicious. It had a full spectrum of textures and flavors. Every bite was a surprise. Highly recommend.

    1. Kaitlin @ Rainbow Plant Life

      Your review made our day, Amalynne! Thank you for taking the time to share your thoughts and for trying out the recipe.

  5. Cassidy Bast

    5 stars
    Great recipe. Great flavours. Makes excellent leftovers too.

    1. Kaitlin @ Rainbow Plant Life

      Thanks for sharing, Cassidy!

  6. Amy Kuznicki

    I make Nisha’s recipes all the time and they are all good, but this one really stands out from the rest. Absolutely yummy! I made it in my cast iron pan, which I covered with foil for the oven/baking part of the recipe. I also always freeze my tofu, defrost, and then press, which makes for the best flavor. Thanks Nisha!

    1. Kaitlin @ Rainbow Plant Life

      Thanks for sharing, Amy! Lovely to hear this recipe’s a favorite!

      Next time, would you mind leaving a rating alongside your review? Star ratings are big help to readers who are thinking of making the recipe. Thanks!

  7. Julie

    5 stars
    So flavorful and comforting! The 5 spice added such a unique flavor to this dish, can’t recommend it enough.

    1. Kaitlin @ Rainbow Plant Life

      Julie, So glad to hear you loved this recipe!

  8. Yelena Chernyavskaya

    5 stars
    Excellent flavor! Also very forgiving since I used jasmine rice instead.

    1. Kaitlin @ Rainbow Plant Life

      Hi Yelena, it’s great to hear you had success with the recipe. Thanks for the review!

  9. Maria

    5 stars
    Absolutely delicious! I used Arborio rice and a cast iron Dutch oven. The rice came out so creamy and yummy. Followed the recipe as written except I extended cooking time by 10 minutes. Wouldn’t change a thing!

    1. Kaitlin @ Rainbow Plant Life

      Thank you for your lovely comment, Maria! It makes us happy to know that you enjoyed the recipe.

  10. Jess

    5 stars
    Came out very good! Used “plain” long-grain white rice because that was what I had, but it still smooth and delicious. Loved the depth of flavor. Thanks!

    1. Kaitlin @ Rainbow Plant Life

      Thank you for your lovely comment, Jess! It makes us happy to know that you enjoyed the recipe.

  11. Melissa

    5 stars
    Absolutely delicious – Been making my way through the recipes on the site and this one definitely is indulgent so think I’d only make it once in a while. I think since the crispiness goes away when adding it in to bake with everything else I’d remove the frying and 2 tbs of oil and just toss the tofu in during the 20 minute finisher. Definitely better than take out that’s for sure!

    1. Kaitlin @ Rainbow Plant Life

      Hi Melissa, we’re so happy you enjoyed it! Thanks for leaving a review :)

  12. Jen

    5 stars
    Hi Nisha! I can’t wait to try this. I’m an InstantPot junkie, thanks to your book. Is there a reason you didn’t include adaptation for InstantPot. Does cooking it in the Dutch oven make a huge flavor difference?

    1. Jen

      5 stars
      I made this last night and it was LOVED by all! I did the tofu in an air fryer (I added 1t of cornstarch to the seasoning mix for crispy-ness). Then I put everything in the Instant Pot for 8 minutes (the cooking time for my rice). It was rich, and creamy and DELISH!!!

      1. Kaitlin @ Rainbow Plant Life

        Hi Jen, Thank you so much for such a fantastic review! Appreciate you taking the time!

    2. Kaitlin @ Rainbow Plant Life

      Thanks so much for the kind comment, Jen! We didn’t try this recipe in the Instant Pot so we don’t have definite answers. We believe the dish would still be good but better with the stovetop/oven method. With the instant pot, when you’re making a rice-based dish, especially one that also has a creamy element, like coconut milk, there’s always the risk of sticking and triggering the burn warning. There’s also no real benefit to using the instant pot here. After the sauteing, the dish gets baked only for 20 minutes and it’s hands off once it hits the oven, similar to the instant pot. With the time the instant pot takes to come to pressure and depressurize, it wouldn’t save any time with this particular recipe.

  13. Rhiannon

    4 stars
    Absolutely amazing recipe it tastes so nice. My partner on the other hand isn’t a fan of the five spice. Is there another spice blend that would work really nice with this as I would like for him to enjoy it.

    1. Kaitlin @ Rainbow Plant Life

      Hi Rhiannon, sorry to hear your partner doesn’t love Chinese five spice powder! Because of all the other flavors in this dish, especially the sauce, I think you could omit the Chinese five spice powder altogether and still enjoy this recipe. You could also try using ¼ teaspoon garam masala for a slightly different flavor profile on this dish.

  14. Ginger

    5 stars
    We made this last night and all loved it! The only tweak I made was I baked the tofu after coating instead of frying on the stove. This dish will make it into our regular rotation. So good!

    1. Kaitlin @ Rainbow Plant Life

      We appreciate your feedback and support, Ginger. Thank you for leaving a review!

  15. Kathleen

    5 stars
    Have made this several times, we love it! Thank you!

    1. Kaitlin @ Rainbow Plant Life

      Hi Kathleen, we’re so happy you enjoyed it! Thanks for leaving a review :)

  16. Patricia

    5 stars
    Made this last night and it was sensational. Thanks.

    1. Kaitlin @ Rainbow Plant Life

      Hi Patricia, thank you so much for your kind review!

  17. Lynn

    This is the first time I have ever left a comment on a recipe but this was so extraordinarily delicious that I had to say so! I didn’t have any white rice so added the brown rice with the broth and cooked it for 15 minutes or so and then added the coconut milk and other ingredients. Put it in the oven till the rice was done. This recipe is definitely one I’ll make again.

    1. Kaitlin @ Rainbow Plant Life

      Hi Lynn, we’re thrilled to hear you enjoyed this recipe! Next time, would you mind leaving a rating alongside your review? Star ratings are big help to readers who are thinking of making the recipe. Thanks!

  18. Fran

    5 stars
    Just amazing, we loved this recipe. Thank you Nisha. I love watching your videos.

    1. Kaitlin @ Rainbow Plant Life

      So great to hear you loved the recipe, Fran! We’re grateful to have you as a part of the Rainbow Plant Life community.

  19. Anna

    5 stars
    This looks great. I am going to make it tonight but I will use Sweet potatoes instead of carrots. I live in Ecuador. Thanks, Neesha. (I used to live in India for 5 years, grew up in Italy; I also lived in Mexico for 5 years & have lived in Canada & Israel, so Rainbow Plant Life is PERFECT for me!) Anna Rayne Levi

    1. Kaitlin @ Rainbow Plant Life

      Wow, Anna, you’ve really been around the world! We can’t wait for you to try this recipe :)

  20. Gloria

    Hi Nisha, this sounds like a yummy recipe. I have a question about the sodium information because I need to watch my sodium intake. The sodium info you list, is it for the entire recipe or per serving? Thank you.

    1. Kaitlin @ Rainbow Plant Life

      Hi Gloria, thanks! The nutrition facts shown are per serving. They’re merely a ballpark estimate, and we suggest you calculate the nutrition facts on your own for the most accurate results.

Development Alchemy + Aim
braised chickpea stew in dutch oven

5 Secrets for Amazing Vegan Cooking

free email series

Learn the pro-tips that will take your plant-based cooking to the next level!