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

Introducing the best vegan meatballs! Incredibly tender, surprisingly meaty, and subtly smoky, these plant-based meatballs are mindblowing! Serve them with pasta and marinara sauce, use them in stews or soups, or simmer them in your favorite gravy!

Bite of a vegan meatball in a skillet.

⭐️ Why You Should Try It

  • Meaty, moist, and tender. Prepare to be amazed by the meatiness and tenderness of these meatballs! The unique combination of soy curls and wheat gluten produces a texture that couldn’t be more meat-like. Plus, they are moist and soak up any sauce you pair them with.
  • Only 11 ingredients are required. This recipe is easy to make. All it takes is eleven simple ingredients and approximately 30 minutes of prep time.
  • They hold up well in sauces and stews. Say goodbye to vegan meatballs that fall apart in sauces. These hold up super well and do not fall apart, even in stews!
  • High in protein. With over 23g of protein per serving, these meatballs are perfect to increase your plant-based protein intake.
Ingredients like cooked white beans, soy curls, vital wheat gluten, and soy sauce.

🫘 Ingredient Notes

Here are the ingredients you will need to prepare these plant-based meatballs:

  • Soy curlsSoy curls make the base of these meatballs. If you have never heard of soy curls, it’s a dehydrated product made from soy flour.
  • White navy beans – Beans add moisture and tenderness to the meatballs. Use cooked white navy beans, either from a can or cooked at home.
  • Vital wheat glutenWheat gluten is essential to hold the meatballs together. It also helps create a meatier texture.
  • Oil – For richness. Use a neutral oil like canola, sunflower, or grapeseed oil.
  • Sugar – Adding sugar to meatballs may sound weird, but it balances the saltiness and rounds up the overall flavor.
  • Nutritional yeast – Add nutritional yeast for extra umami and a hint of nuttiness.
  • Onion powder – For an aromatic and intense onion flavor. Alternatively, you can use shallot powder if you don’t tolerate onion.
  • Soy sauce – We will use two types of soy sauce. Regular soy sauce to add saltiness and dark soy sauce to give the meatballs a darker color.
  • Worcestershire sauce – Optional. Add a few drops vegan Worcestershire for a hint of sourness.
  • Liquid smoke – While these meatballs are not overly smokey, liquid smoke helps create an even meatier aroma.

🥣 How to Make It

Rehydrate the soy curls

  1. Cover the soy curls with water. Add the soy curls to a bowl and cover them with hot water. Let the soy curls rehydrate for 15-20 minutes.
  2. Drain and squeeze. Drain the soy curls and rinse them a couple of times under cold water. Doing so will get rid of the soybean flavor. Next, squeeze the soy curls with your hands to remove most of the moisture.

Process the mixture

  1. Process the beans. Add the cooked white beans, oil, nutritional yeast, soy sauce, sugar, onion powder, smoked paprika, liquid smoke, Worcestershire sauce, and water to a food processor. Process for 15-20 seconds or until smooth.
  1. Add the soy curls. Next, add the rehydrated soy curls and process for another 4-6 seconds or until it resembles a bolognese sauce. The soy curls should be finely chopped but not completely puréed. Otherwise, you will lose the texture. Transfer the mixture to a large mixing bowl.

Add the vital wheat gluten

  1. Add the vital wheat gluten. Add the vital wheat gluten to the bowl containing the blended soy curls. Mix using a spatula or with your hands until it forms a paste resembling ground meat.

Shape into balls and steam

  1. Divide the mixture into balls. Using a measuring spoon or a cookie scoop, divide the mixture into 1.5 tablespoon-sized balls. Shape them into balls with your hands and transfer them to a steamer.
  2. Steam. Using an Instant Pot or a bamboo steamer basket placed on top of a pot of boiling water, steam the meatballs for about 50 minutes.
  3. Let cool. After steaming, remove the meatballs from the steamer basket and let them cool for at least 15 minutes. You can now sauté the meatballs in a pan and use them in your favorite recipes!

🍚 What to Serve With It

These vegan meatballs are versatile and can be used in a multitude of dishes! Here are a few ideas:

  • Toss in a sauce: Sauté the meatballs until golden brown before tossing them with Buffalo sauce, char siu sauce, marinara sauce, or vegan oyster sauce!
  • Cook in a gravy: Simmer in a mushroom gravy, Swedish meatball sauce, or cashew cream.
  • Use in sandwiches: Use them as a filling for banh mi!
  • Serve with grains: Serve them on top of white rice, homemade noodles, quinoa, or your favorite grain.

📔 Tips

  • Measure the vital wheat gluten correctly. Do not use a measuring cup as a scoop to measure the vital wheat gluten. Instead, spoon the vital wheat gluten into the measuring cup and level it with a knife.
  • Do not let the mixture sit too long. After incorporating the gluten, do not wait too long before shaping it into balls. As the gluten develops, it gets harder to shape the mixture into balls.
  • Do not make substitutes. This recipe is not versatile. Making any change or substitution made will alter the texture and flavor of the meatballs.
Vegan meatballs cooked in soy sauce.

❄️ Freezing

These vegan meatballs freeze really well! Once completely cool, transfer them to a freezer-safe bag and freeze for up to 3 months. Thaw overnight in the refrigerator before using.

💬 FAQ

Can I make these meatballs gluten-free?

Unfortunately no, these meatballs cannot be made gluten-free.

Can I bake the meatballs instead of steaming?

You can bake the meatballs, but they must have been steamed before. Steaming cooks the vital wheat gluten while keeping the meatballs moist.

How long do these meatballs keep?

These vegan meatballs will keep for up to 4 days in the refrigerator.

Can I add these meatballs to stews or soups?

Yes, these meatballs hold up really well in stew or soups. I recommend adding them toward the end of cooking and letting them simmer for about 20 minutes.

These are, without a doubt, the best vegan meatballs I have ever tasted! They are incredibly meaty, moist, and soft. I highly recommend giving it a try!

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

Close-up of vegan meatballs in a skillet.
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.

Recipe

The Best Vegan Meatballs

4.72 from 7 votes
Author: Thomas Pagot
Introducing the best vegan meatballs! Incredibly tender, surprisingly meaty, and subtly smoky, these plant-based meatballs are mindblowing! Serve them with pasta and marinara sauce, use them in stews or soups, or simmer them in your favorite gravy!
Prep Time : 30 minutes
Cook Time : 50 minutes
Total Time : 1 hour 20 minutes
Servings 16 meatballs
Calories 314 kcal

Ingredients
 

Instructions
 

  • Rehydrate the soy curls. Add the soy curls to a bowl and cover them with hot water. Let the soy curls rehydrate for 15-20 minutes.
    Drain the soy curls and rinse them a couple of times under cold water. Doing so will get rid of the soybean flavor. Next, squeeze the soy curls with your hands to remove most of the moisture.
  • Process the remaining ingredients. Add the cooked white beans, oil, nutritional yeast, soy sauce, sugar, onion powder, smoked paprika, dark soy sauce, Worcestershire sauce, liquid smoke, and water to a food processor. Process for 15-20 seconds or until smooth.
  • Add the soy curls. Next, add the rehydrated soy curls and process for another 4-6 seconds or until it resembles a bolognese sauce. The soy curls should be finely chopped but not completely puréed. Otherwise, you will lose the texture. Transfer the mixture to a large mixing bowl.
  • Add the vital wheat gluten. Add the vital wheat gluten to the bowl containing the blended soy curls. Mix using a spatula or with your hands until it forms a paste resembling ground meat.
  • Divide the mixture into balls. Using a measuring spoon or a cookie scoop, divide the mixture into 1.5 tablespoon-sized balls. Shape them into balls with your hands and transfer them to a steamer.
  • Steam. Using an Instant Pot or a bamboo steamer basket placed on top of a pot of boiling water, steam the meatballs for about 50 minutes.
  • Let cool. After steaming, remove the meatballs from the steamer basket and let them cool for at least 15 minutes. You can now sauté the meatballs in a pan and use them in your favorite recipes!

Notes

  • Measure the vital wheat gluten correctly. Do not use a measuring cup as a scoop to measure the vital wheat gluten. Instead, spoon the vital wheat gluten into the measuring cup and level it with a knife.
  • Do not let the mixture sit too long. After incorporating the gluten, do not wait too long before shaping it into balls. As the gluten develops, it gets harder to shape the mixture into balls.
  • Do not make substitutes. This recipe is not versatile. Making any change or substitution made will alter the texture and flavor of the meatballs.

Nutrition

Serving: 1 serving (4 meatballs) | Calories: 314 kcal | Carbohydrates: 20.3 g | Protein: 23.9 g | Fat: 15.9 g | Saturated Fat: 1.8 g | Sodium: 311 mg | Potassium: 194 mg | Fiber: 5.1 g | Sugar: 4.5 g | Calcium: 62 mg | Iron: 3 mg
Course : Dinner, Entree
Cuisine : American
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!




15 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

5 stars
I love meatballs but I’ll try this vegan version. Thank you for sharing.

Would it be possible to substitute TVP for Soy Curls?

5 stars
Hi Thomas,
I don’t usually rate a recipe before trying, but I know my way around the kitchen and I know a good recipe by just reading it. Are these fairly firm? Once again, creative. Can’t wait to try.

5 stars
Wow, totally amazing! I followed the recipe, steamed and finished in the air fryer. Great flavor and these nuggets were crispy on the outside while tender on the inside. Yummy!!

5 stars
I made these meatballs yesterday and was very impressed by the texture and novel composition. I really like the addition of beans for moisture – it works! This recipe is more time efficient than other vegan meatball recipes I have so I will make them again, even though the flavor profile needs some work.

However, I can’t imagine any recipe where I wouldn’t season the soaking water for the soy curls though. It’s a missed opportunity to add layers of flavor. I seasoned the soaking water a bit and should have seasoned liberally as the meatballs themselves are VERY neutral in flavor.

Further, there is no mention about placing the meatballs in another container in the Instant Pot to protect them from the water under the trivet. I placed them on the trivet and they were not touching the water, but as they cooked they appeared to soften a bit and bulge through the trivet into the water. This resulted in meatballs that were firm on top and soggy on the bottom.

5 stars
Thank you, Thomas! I understand your logic and enjoyed them very much anyway. I think I took your warning about substitutions at face value, fearing I would ruin the meatballs, and followed the recipe as is. I will live dangerously next time and amp up the flavor profile. 😉 Thanks again for the clever recipe!

4 stars
Is there a difference between using a bamboo steamer vs a regular steamer? I used a regular steamer and they came out flat on the bottom. Is there no way for them to stay perfectly round?

4 stars
I made these last night, they’re very tasty, I did up the spices for more Italian flavor as you suggested. However I did find them pretty pillowy soft even after frying and sitting in the fridge overnight. The flavor is great as I said! Any advice to firm them up would be great. Thinking more VWG or kneading? Is it possible my steam was not hot enough? Definitely long enough.
Thank you for sharing your recipes!