This post may contain affiliate links. Please read our disclosure policy.

Incredibly meaty and juicy vegan pork belly! With layers of (coconut) fat that melt in your mouth and a crispy crust, this plant-based meat alternative is a must-try! Plus, it looks surprisingly real!

Vegan "Roast Pork"

Introducing vegan roast “pork”! I’m so excited to share this recipe!

Once again, this is a dish that I came across during my time in Vietnam. I remember the day I decided to randomly order “heo quay chay” (vegetarian roast pork) from Grab Food, one of the most popular food delivery apps in the country. When I received the dish and gave it a try, it was so surprisingly meaty that I had to double-check and ask my Vietnamese wife if I had accidentally ordered from a non-vegan restaurant.

Well, there is no plot twist here, it was 100% VEGAN. I am blown away by how creative Vietnamese cuisine can be when it comes to making vegetarian dishes. This plant-based version of roast pork is typically made with layers of vegan meat (usually some TVP slices) and coconut “fat”. It’s then topped with a crust that is naturally colored with annatto to mimic the pork skin! It is usually deep-fried to create a crispy outside while maintaining the inside soft and meaty.

My recipe is adapted from Vietnamese recipes, and I can’t wait for you to give it a try as it’s definitely unique and super fun to make! Let’s do it!

⭐️ Why You Will Love It

Surprisingly meaty.

My recipe is just as meaty and tasty as the one I tried in Vietnam years ago. If you have never tried vegan roast pork, you’re going to be shocked by how wonderful this meat alternative is!

Picture this: Rich and juicy layers of coconut fat, chewy layers of vegan meat, and a super crispy exterior. Toss that with a sweet and salty char siu sauce, and I can guarantee you that it’s going to fool many!

A great vehicle for flavor.

Think of this vegan roast pork as a blank canvas. Similar to tofu, it doesn’t taste much on its own but is the perfect vehicle for flavor. The main point of this recipe is to recreate a texture and look similar to roast pork. Then, once you have that, you can season it to your liking. I personally think it tastes the best with a char siu sauce, just like traditional Vietnamese roast pork, but you can also season it with teriyaki sauce or your favorite marinade.

It can then be used in a multitude of dishes such as stir-fries, sandwiches, bao buns, noodle dishes, or simply served as a side with steamed white rice!

Easy to make.

While it may seem like a lot of labor, it’s actually not! You will need only 10 ingredients and less than 1 hour to make it. The process is very simple as it only consists of arranging each layer one by one and steaming each. It’s the most time-consuming step of the recipe but also the most rewarding!

Vegan "Roast Pork"

🥛 Ingredient Notes

TVP slices

To create the “meat” layers, I use TVP (textured vegetable protein) slices. If you know soy curls, then you will feel familiar with TVP slices, as they are basically the same thing but in a different shape. TVP is sold dried and must be rehydrated before using.

Recommendations: I recommend using either thin TVP slices like these Unflavored strips or these Vegan Chicken Slices.

Substitute: You can replace the TVP with basically any strip of plant-based meat, like slices of vegan chicken, for example. Tempeh might work as well, but I haven’t tried it yet. I would recommend staying away from tofu as it won’t stick to the fat layers.

Coconut milk

Then, to mimic the layers of fat present in real roast pork, I rely on full-fat coconut milk. It creates the needed richness and is responsible for the white color. If you wonder if it imparts a coconut flavor, then yes, it does. However, since this roast pork is supposed to be fried and then seasoned, you won’t taste the coconut in the final result.

Note: Other plant-based milks will work but won’t yield the same richness.

Tapioca starch and rice flour

Tapioca starch gives the fatty coconut layer a chewier, more elastic consistency, while the rice flour helps it thicken during steaming. Both are essential to create the desired consistency.

Salt and sugar

To season the fat layers. Vietnamese cuisine almost always relies on sugar to balance the saltiness.

Tapioca pearls

In order to give the vegan roast pork a look closer to the authentic pork belly, I am using small tapioca pearls (the same pearls used to make sago!). They help create a grainy texture on the orange “skin” layer.

Annatto oil

I am using annatto oil as a natural coloring for the skin layer. It adds a vibrant orange color.

Note that the annatto oil is not essential – it’s mostly for aesthetics. If you plan to fry this roast pork, the color won’t pop out much, so don’t stress too much about this one.

Substitute: If you don’t have annatto oil, you can use some orange food coloring or 1/8 teaspoon of turmeric. It won’t be as vibrant and more yellow, but it still works great.

⏲️ Equipment

Steamer

Since the process consists of steaming each layer one after the other, you will need a steamer that can be opened easily. I recommend using a bamboo steamer basket placed on a pot of boiling water. Alternatively, an Instant Pot covered with a glass lid will work too.

Mini loaf pan

I am using a mini loaf pan measuring 3.5×6-inch for this recipe as it fits in my bamboo basket steamer. It is quite small but will make enough roast pork for 2-3 servings. Feel free to use a larger loaf pan and double the recipe if you desire.

🥣 How to Make It

This recipe consists of 3 steps:

  1. Preparation: First, you will rehydrate the TVP slices and make the coconut milk “fat.”
  2. Steaming: Then, you will steam the loaf, layer by layer, finishing with the orange “skin” layer.
  3. Refrigeration: Before cutting it into slices, you will need to chill the vegan roast pork overnight. This will allow it to firm up and make it easier to cut.
  4. Frying: Finally, to give this vegan “pork” a crispy texture and help prevent it from crumbling in stir-fries, you will need to deep-fry it.

1. Prepare the “meat” and fat layers

Let’s start by rehydrating the TVP slices. To do so:

  1. Soak the TVP. Add the TVP slices to a large bowl and cover with hot water. Allow the slices to rehydrate for about 30 minutes or until they are soft. 
  2. Drain. Drain and rinse the slices under cold water a couple of times. Squeeze the slices very tightly with your hands to remove as much excess moisture as possible. Set aside.
Vegan "Roast Pork"

Then, it’s time to prepare the coconut “fat” and soak the TVP slices into it:

  1. Whisk together the ingredients. In a medium mixing bowl, whisk together the tapioca starch, rice flour, coconut milk, water, salt, and sugar.
  2. Soak the TVP. Add the TVP slices to the bowl and let them soak for about 30 minutes. This step will allow the slices to soak up some of the coconut milk, resulting in a better texture.
Vegan "Roast Pork"

2. Prepare the skin layer

To make the orange layer that is meant to resemble the skin of the roast pork:

  1. Take 3 tablespoons of the coconut milk mixture and transfer it to a small bowl. Next, add 1 teaspoon of annatto oil and 1 and 1/2 teaspoons of tapioca pearls. Stir to combine and set aside.

That’s it, the preparation is already done. It’s now time to assemble and steam our roast pork!

3. Steam

Now comes the fun part, steaming the “pork” loaf! You will be steaming the loaf layer by layer to ensure each layer is cooked properly. To do so:

  1. Prepare your pan. Lightly oil your loaf pan or line it with a sheet of parchment paper.
  2. Heat a steamer. Bring a large pot of water to a boil and place your bamboo basket steamer on top.
  3. Add the first layer. Arrange a layer of TVP slices to the bottom of the pan (feel free to cut them if they don’t fit). Pour about 2 tablespoons of the coconut milk mixture over the slices, just to cover. Steam for 5 minutes. The coconut “fat” should have firmed up.
  4. Add the second layer. Next, to create a layer of fat, pour 3 tablespoons of the coconut milk mixture over the TVP slices and steam for another 5 minutes. This will make the first layer of fat.
  1. Repeat. Repeat one more time with another layer of TVP slices and another layer of coconut milk mixture, steaming each for 5 minutes.
  2. Add the “skin” layer. Finally, pour in the orange coconut milk mixture (including the tapioca pearls) over the last layer of fat. Steam for another 4 minutes.
  3. Let cool. Carefully remove the pan from the steamer and let it cool completely at room temperature before transferring it to the refrigerator for at least 5 hours. After that, you can remove it from the pan and cut it into slices! I usually cut it into thick rectangles as they hold better during frying, but feel free to cut it into large slices or slightly thinner strips.
Vegan "Roast Pork"

4. Deep-fry

To add crispiness and even more richness, I highly recommend deep-frying the pork slices. Actually, vegan roast pork is always served deep-fried and tossed with a sauce in Vietnam, it’s never served as is. To do so:

  1. Heat the oil. Heat about 1/3 cup of oil in a non-stick skillet over medium heat.
  2. Fry. Once the oil is hot, add the vegan pork slices and fry for 7-10 minutes, flipping halfway through frying. Once the vegan pork is golden brown and crispy, remove it from the oil and transfer it to a plate lined with kitchen paper towels to remove the excess oil.

5. Season it

Since this vegan roast pork has a very mild flavor, you want to coat it with a sauce after deep-frying. You can use teriyaki sauce, gochujang sauce, BBQ sauce, or your favorite stir-fry sauce.

I personally love to serve it with a char siu sauce. You can prepare this sauce by combining 1 tbsp of char siu sauce, 3 tbsp of water, 1 tbsp of sugar, and 1/8 tsp of five spice in a skillet. Cook the sauce for 2-3 minutes or until almost syrupy. Add the fried vegan pork and stir to coat. Enjoy!

📔 Tips

  • Adjust the ratio of fat and TVP. This recipe yields a loaf with two layers of fat and two layers of “meat.” However, you can add more meat layers if you want. You can also adjust the ratio of meat-to-fat layers by adding more or less coconut milk. For example, for meatier “pork,” only use two tablespoons of coconut milk for each layer of fat for thinner layers.
  • Steam until firm. It’s essential to steam each layer until the coconut milk has firmed up. It should be soft but no longer be liquid. If it’s still liquid, steam for another 1-2 minutes.

🍚 How to Serve It

After stir-frying the “pork” in your favorite sauce, you can simply serve it on top of white rice, quinoa, noodles, or your favorite grain. This vegan roast pork is also delicious in bao buns; you can, for example, swap the tofu in these Sate Tofu Baos for roast pork!

It can also be used in Vegan Spring Rolls (cut into thinner slices), vegetable stir-fries, or Vegan Bánh Mì!

❄️ Storing and Freezing

  • To store: This vegan “pork” can be stored for up to 7 days in the refrigerator.
  • To freeze: You can freeze it either whole or in slices. Wrap the slices in plastic wrap and transfer them to a freezer bag. You can freeze it for up to 3 months. Thaw overnight in the refrigerator.

💬 FAQ

Does the fat layer melt?

It doesn’t. It just gets softer after cooking.

Can I omit the frying step?

You can, but the texture won’t be the same, and your pieces of “pork” won’t hold well if you want to stir-fry them. I highly recommend frying it. If you want a healthier alternative, you can, of course, air-fry it.

Can I bake this vegan pork instead of frying it?

I haven’t personally tried it yet, but I think it should work. Arrange thick slices of vegan pork on a baking sheet and generously brush with oil. Then bake at 355°F (180°C) for 15-20 minutes or until golden brown. You can then stir-fry it with your favorite sauce.

Can I skip the char siu sauce?

Since this vegan pork belly doesn’t have much flavor on its own, you want to cook it in a sauce. Just like tofu, it’s a great vehicle for flavor and will soak up the sauce perfectly.

This vegan meat alternative is so good! You will be surprised by how meaty it tastes, the crust adds a nice crunch (or should I say crisp!), and the fat layer brings richness and chewiness.

⭐️ Did you like this recipe? Let us know in the comments below, and tag us on Facebook, Instagram, or Pinterest!

Updated on June 8, 2024: The recipe has been revamped with new photos, tips, and a fully reworked recipe.

Vegan "Roast Pork"
full of plants in envelope

Want to Save This Recipe?

Enter your email below & we’ll send it straight to your inbox! Plus, you will receive new recipes every week!

Save Recipe

I’d like to receive more tips & recipes from Full of Plants.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Vegan "Roast Pork"

Vegan “Roast Pork”

4.86 from 14 votes
Author: Thomas Pagot
Learn how to make vegan "pork belly" that is crispy on the outside, chewy on the inside, and with layers of (coconut) fat. You will be surprised by how meaty and real it looks and tastes!
Prep Time : 15 minutes
Cook Time : 30 minutes
Total Time : 45 minutes
Servings 1 loaf (about 2 servings)
Calories 363 kcal

Ingredients
 

Coconut "Fat" and Meat Layers

Skin Layer

Char Siu Sauce

Instructions
 

Prepare the “meat” and fat layers

  • Soak the TVP. Add the TVP slices to a large bowl and cover with hot water. Allow the slices to rehydrate for about 30 minutes or until they are soft.
  • Drain. Drain and rinse the slices under cold water a couple of times. Squeeze the slices very tightly with your hands to remove as much excess moisture as possible. Set aside.
  • Make the coconut fat. In a medium mixing bowl, whisk together the tapioca starch, rice flour, coconut milk, water, salt, sugar, and mushroom seasoning if using.
  • Soak the TVP. Add the TVP slices to the bowl containing the coconut milk mixture and let them soak for about 30 minutes. This step will allow the slices to soak up some of the coconut milk, resulting in a better texture.

Prepare the skin layer

  • Take 3 tablespoons of the coconut milk mixture and transfer it to a small bowl. Next, add 1 teaspoon of annatto oil and 1 and 1/2 teaspoons of tapioca pearls. Stir to combine and set aside.

Steam

  • Prepare your pan. Lightly oil a 3.5×6-inch loaf pan or line it with a sheet of parchment paper.
    Heat a steamer. Bring a large pot of water to a boil and place your bamboo basket steamer on top.
  • Add the first layer. Arrange a layer of TVP slices to the bottom of the pan (feel free to cut them if they don’t fit). Pour about 2 tablespoons of the coconut milk mixture over the slices, just to cover. Steam for 5 minutes. The coconut “fat” should have firmed up.
  • Add the second layer. Next, to create a layer of fat, pour 3 tablespoons of the coconut milk mixture over the TVP slices and steam for another 5 minutes. This will make the first layer of fat.
  • Repeat. Repeat one more time with another layer of TVP slices and another layer of coconut milk mixture, steaming each for 5 minutes.
  • Add the “skin” layer. Finally, pour in the orange coconut milk mixture (including the tapioca pearls) over the last layer of fat. Steam for another 4 minutes.
  • Let cool. Carefully remove the pan from the steamer and let it cool completely at room temperature before transferring it to the refrigerator for at least 5 hours. After that, you can remove it from the pan and cut it into slices! I usually cut it into thick rectangles as they hold better during frying, but feel free to cut it into large slices or slightly thinner strips.

Fry

  • Heat the oil. Heat about 1/3 cup of oil in a non-stick skillet over medium heat.
  • Fry. Once the oil is hot, add the vegan pork slices and fry for 7-10 minutes, flipping halfway through frying. Once the vegan pork is golden brown and crispy, remove it from the oil and transfer it to a plate lined with kitchen paper towels to remove the excess oil.

Season with the Char Siu sauce

  • To a non-stick skillet, add the char siu sauce, water, sugar, and five-spice powder. Heat over medium heat and cook for 3-5 minutes or until the sauce has thickened.
  • Add the fried vegan pork slices and stir to coat. Cook for 2 more minutes, stirring regularly.
  • Enjoy the char siu pork on top of white rice, quinoa, or use in sandwiches, bao buns, banh mi, etc.
  • This vegan “pork” can be stored for up to 7 days in the refrigerator.

Notes

  • Adjust the ratio of fat and TVP. This recipe yields a loaf with two layers of fat and two layers of “meat.” However, you can add more meat layers if you want. You can also adjust the ratio of meat-to-fat layers by adding more or less coconut milk. For example, for meatier “pork,” only use two tablespoons of coconut milk for each layer of fat for thinner layers.
  • Steam until firm. It’s essential to steam each layer until the coconut milk has firmed up. It should be soft but no longer be liquid. If it’s still liquid, steam for another 1-2 minutes.
  • Recipe adapted from Suc Khoe Tam Sinh and Mai Loves Cooking.

Nutrition

Serving: 1 serving (without the sauce) | Calories: 363 kcal | Carbohydrates: 51.6 g | Protein: 8 g | Fat: 13.1 g | Saturated Fat: 7.1 g | Sodium: 303 mg | Fiber: 2.7 g | Sugar: 7.4 g | Calcium: 14 mg | Iron: 2 mg
Course : Entree, Main Course
Cuisine : Asian
Did you make this recipe? Tag @fullofplants on Instagram and hashtag it #fullofplants
Share this recipe!

About the Author

Thomas Pagot is the founder, photographer, and recipe developer behind Full of Plants. He created the blog in 2016 as a personal cookbook for vegan recipes. Through years of recipe development, Thomas has successfully grown Full of Plants into a trusted resource for plant-based recipes.

Learn more ➜

Leave a Comment

Subscribe
Notify of
Did you make this recipe? Rate it!




67 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

5 stars
Omg, so good! I used almond milk, because that’s what I had. I’m making this again and again!

Hi, can you please advise what size loaf pan you used? Mine (a standard “banana bread” type pan, in Australia) looks bigger than yours just by eyeballing it – I don’t even think it’d fit in any of my pots for the steaming step- but also I think this will alter the quantities per layer if it’s drastically different? Dimensions you based the recipe off or would be super helpful – thank you!!
And thanks for an amazing looking recipe, can’t wait to try!

Hi Thomas,
I just came across your amazing recipes! For this recipe can I use coconut cream instead of coconut milk?
Cheers
Heather

5 stars
I love roasted food. I must try this. Thank you for sharing.

This looks amazing – thank you for sharing your wonderful creations with this community! I can’t wait to give this a try!

Couple of quick questions (if you don’t mind) as I read through the recipe and prep hoping you can provide a few clarifications

1) In the directions I’m not sure where you’re referring to the coconut milk mixture vs. just the coconut milk

2) Are the annatto oil and tapioca pearls optional? What are the consequences of not including them?

Thank you! Can’t wait to give this a try.

How and with what do.you do the steaming’ step?

5 stars
Thomas,
Kudos!!!

Hi Thomas is the old recipe for the vegan pork still available

5 stars
Yeeessss!! I made this – it is food from the gods. I followed your recipe to the letter and it worked to perfection. I ‘ve just eaten one slice and I have five left – and no one died for me to make it!!!! Thank you so much. (consider my rating SIX stars)

5 stars
I love this recipe.. I just had it with some pickled carrot and turnips It’s sticky and gooey and delicious.. . I’m going to serve it to my carnivore family. I know they’ll love it
Thank you.

Hi Thomas,
In the description it says bread is an ingredient but I didn’t see it.

Usually love your recipes, but this one just looks way too fatty for me, sorry. Also, don’t like to nitpick, but why oh why, on a vegan website’s recipes do I keep seeing meat pies advertised, in all their gory detail? Yuk, very off-putting ☹️

I’m having your seaweed and edamame fried rice today, which is regular favourite, love your stuff (usually) 😘

Hi! I can’t seem to find TVP slices that size. 🙁

Thank you for the quick response!

Trying to make this recipe but what do you mean by two “cubes” of tofu?

5 stars
This is SUCH a fun recipe. Stumbled across it while trying to see what the vegan food community has as a substitute for pork fat hahahhah. I love how creative this is and they look just like little nuggets of pork belly!

Looking forward to making this today! I can’t seem to find my rice flour though. Do you think I could substitute regular flour and get somewhat the same results?

Looks amazing. How would you eat this or what kind of dish would you incorporate into?

What if u can’t get hold of fermented tofu is there a different alternative to use?

Hi, Thomas thank you for this recipe, I cant wait to try it. It looks amazing! I was wondering would it be possible to substitute stinky tofu with just plain tofu? and would I be able to deep dry this or would it melt the “fat” part?

Like everyone else said, this is super creative! I’m Vietnamese-Canadian and I enjoy seeing your vegan spin on dishes I grew up loving. My mom use to cook Thit Kho (Braised Caramelized Pork and Eggs) all the time and it was a favourite of ours. It’s usually never on restaurant menus, definitely a home comfort food and the best thing on a bed of fluffy white rice. I’m really curious how these chunks would stew in a recipe like that. Thanks for sharing this recipe! 🙂

5 stars
I cooked this today and it is not only delicious but it is amazingly tasty. Thank you for another winning recipe.

Looks great – but I’m a bit confused as to what you really do with it afterwards? I would think you can’t cook it really (like in a stir-fry) as the “fat” would melt?

Do you just eat it at room temp?

That looks disgusting. Just eat a pig if you want pork.

This comment is disgusting.

5 stars
Are you so offended by alternatives that you have to harass someone?

5 stars
Wow looks amazing, looking forward to try it!! Do you think you could prepare it in advance and freeze it? If so, how would you do to thaw it and serve it after freezing?

3 stars
Do you need a pressure cooker? How long would it take to steam it in a conventional steamer?

5 stars
I Hi Thomas, Now I’m confused..1
The instructions say a steamer which I took to mean an onto the Cooktown steamer. Is your recommended time in the recipe for a normal over boiling water in a steaming pan? Or a pressure cooker? I have both, but now I’m wondering after your reply. Also while I have you, do you cook the tapioca pearls a bit first or add them in their dry stwte?

Thank you. I’ m trying this today

5 stars
It turned into a three day project but it was well worth it. Thank you!!!!

I ‘m really a fan of your cooking, your creativity, how you present your recipes so first of all thank you! – but what I don’t understand is how you can still use aluminium? Studies already years ago proved that it’s really poisoning. specially when you heat it. Only touching food the aluminum enters right into the food – aluminum is a heavy metal that goes directly to your brain because the body cam’t expulse it, so it get ‘stored’ in the brain – causing all the diseases of Alzheimer etc. there are a lot of studies and scientific proves. it is so easy to reemplace it. as a vegan in general but as a vegan cook I think we all should think also about health and ambiental protection.aluminum is one of the of the unhealthiest industries in the world and not only poisoned us also make a big damage to our planet… I hope that I don’t bother you saying this, maybe it could also be an inspiration. Hope so!

5 stars
We are in Vietnam at present loving the vegan options. Have seen this in some of the chay restaurants and cant believe the resemblance to pork. Going to give it a try now i know whats in it, even though mock meats are not my particular favourite. Curiosity will get the better of me on this occasion.

5 stars
That is amazing – you are so unbelievably clever

Whaaaat?!?! This looks crazy good! Really have to try this.
Thanks a lot for sharing!

Best from Germany!
Arne