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!
⭐️ 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.
🫘 Ingredient Notes
Here are the ingredients you will need to prepare these plant-based meatballs:
- Soy curls – Soy 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 gluten – Wheat 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
- 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.
- 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
- 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.
- 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. 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
- 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!
🍚 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.
❄️ 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
Unfortunately no, these meatballs cannot be made gluten-free.
You can bake the meatballs, but they must have been steamed before. Steaming cooks the vital wheat gluten while keeping the meatballs moist.
These vegan meatballs will keep for up to 4 days in the refrigerator.
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.
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!
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.
The Best Vegan Meatballs
Ingredients
- 1 cup soy curls
- 1/2 cup cooked white navy beans
- 3 tbsp oil
- 1 tbsp nutritional yeast
- 1 tbsp soy sauce
- 1 tbsp sugar
- 1 tsp onion powder
- 1/4 tsp smoked paprika
- 1/2 tsp dark soy sauce
- 1/4 tsp vegan worcestershire sauce optional
- 1/8 tsp liquid smoke
- 1/4 cup water
- 1/2 cup vital wheat gluten
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
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.
Leave a Comment
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!
Glad you still liked the meatballs David!
They are tender but should not be pillowy soft. I would try to squeeze as much water as possible from the soy curls next time.
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.
Hi Sandy,
Thanks for your feedback, glad you liked the meatballs ^^
Regarding the flavor, I wouldn’t say it’s “very” neutral, but it is neutral. Since these can be used in different dishes, I seasoned them lightly on purpose. You could for example add Italian seasoning, but then these wouldn’t be suitable for Asian dishes, etc. Same goes for the saltiness, these meatballs absorb flavors very well, so if you cook them in a teriyaki sauce for example, you don’t want them too salty to begin with.
Hope you will be able to adjust the seasonings to your liking though 😉
I’ll add a tip regarding steaming in an Instant Pot (I always steam in a bamboo basket steamer so I didn’t have that problem yet), thanks for the heads up.
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!
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?
I doubt there is much difference, since they sit on the steamer, they obviously have a slightly flattened bottom. You could try reshaping them a bit with your hands after steaming.
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!!
I’m glad you enjoyed these meatballs, Ida! Thanks for your rating 😉
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.
Hi Deb,
These meatballs are not that firm, neither soft. I think they are very similar in firmness to real meatballs.
Would it be possible to substitute TVP for Soy Curls?
Yes, it works. However, the texture is slightly different. Soy curls yield a smoother, more pleasant texture.
I love meatballs but I’ll try this vegan version. Thank you for sharing.
Hope you will like it Emy!