This vegan meatball recipe is surprisingly easy to make and the results are SO good! Imagine meaty, firm, and flavorful vegan meatballs that won't fall apart and are perfect for spaghetti, meatball subs, and more! They're low in fat and high in protein thanks to TVP, black beans, and vital wheat gluten (seitan). You'll also love that these vegan meatballs are made with pantry-friendly ingredients that are easy to keep on hand, so you can whip up a batch in no time!
You're Gonna Love These Vegan Meatballs!
After sharing these air fryer veggie burgers last week, someone asked if I thought the mixture would work well for vegan meatballs. Ahhh, such a great idea!
That recipe uses a blend of beans, TVP (textured vegetable protein), and vital wheat gluten, the key ingredient in seitan.
To make the meatballs even meatier than the veggie burgers, I increased the amount of vital wheat gluten. And for extra flavor, while still keeping the recipe easy to prepare, I added Italian seasoning and increased the nutritional yeast.
The result is the most satisfying, meaty, delicious, and easiest vegan meatballs I can imagine! They're quick, affordable, made entirely with pantry-friendly ingredients, and perfect for sandwiches and vegan spaghetti!
Just mix everything together in a bowl, form into meatballs, bake, and toss with sauce. No chopping or special equipment required!
Jump to:
Ingredients
- black beans - I used canned beans. The veggie burger recipe that inspired these meatballs calls for either black beans or kidney beans. Technically you can use pretty much any bean here, but I opted for black beans so the meatballs have a more traditional color.
Refried beans are another option, and then there's no need to mash! - TVP - textured vegetable protein is usually easy to find in the bulk bins at the grocery store. I order this TVP by Anthony's online. TVP is a really versatile ingredient. You can also use it to make vegan Cincinnati chili, TVP taco meat and so much more! Just type "tvp" in the search bar here on the site for more ideas.
- vital wheat gluten - sorry, but there's no substitute for this meatball recipe. In case you're not familiar with seitan, this is a high-protein flour created from wheat. I have an entire seitan category if you need other ways to use vital wheat gluten.
- soy sauce - adds saltiness and umami.
- apple cider vinegar - just a touch adds interest and flavor.
- Italian seasoning - this is an herb blend consisting of oregano, marjoram, rosemary, thyme, basil, and sage. It has become one of my must-haves in my spice rack. It's great for vegetable soup, vegan ricotta and lasagna!
- smoked paprika - adds a naturally smoky flavor.
- almond butter - adds fat and moisture. Feel free to substitute olive oil for a nut-free option.
- nutritional yeast - adds savory flavor and umami and tenderizes the meatballs. I use this nutritional yeast by Sari Foods.
See recipe card below for quantities and the full recipe.
📩 Email me the recipe!
Also keep an eye out for more delicious recipes. Unsubscribe anytime.
How to Make Vegan Meatballs
- Mash the beans with a fork.
- Add TVP, hot water, soy sauce, and apple cider vinegar and stir well. Let sit 5 minutes.
Preheat the oven to 350 degrees F (176 C) and line a baking sheet with parchment paper or a silicone baking mat.
- Add the nutritional yeast, almond butter, and herbs and seasonings. Stir to combine.
- Add vital wheat gluten and mix with your hands. Knead for about 30 seconds to develop the gluten strands.
- Form into balls using 1 ½ tablespoons of mixture for each one. You should end up with 22 to 24 meatballs. Bake for 13 minutes, flip the meatballs, and bake for another 15 to 17 minutes. They're done when crisp on the outside, firm, and piping hot in the middle.
Tip! If you have less than 22 meatballs, this means they're too large and won't cook through evenly. Pinch off some of the mixture from larger ones to create additional meatballs.
Equipment
A 1.5 tablespoon cookie scoop comes in handy for creating evenly sized meatballs. Or use a measuring spoon and use 1 ½ tablespons of the mixture for the first two or three meatballs. Then you can use those as a guide and eyeball it for the rest.
You'll also need a mixing bowl, fork, baking sheet, and parchment paper or a silicone mat.
FAQs
Plant-based meatballs can be made with a variety of different ingredients. The key ingredients in this recipe are vital wheat gluten (seitan), TVP (textured vegetable protein), and mashed black beans for binding and moisture.
Unfortunately, no. As the recipe is written, vital wheat gluten is essential for holding the vegan meatballs together and giving them a firm and meaty texture. A gluten-free version will require some more testing.
Yes. If you don't think you'll finish the meatballs within 5 days, place in an airtight freezer-safe container and freeze for up to 2 months. Thaw overnight in the refrigerator and reheat in a microwave, saute pan, or air fryer (with a bit of water added to the bottom to keep them from drying out).
Top Tips
If you've ever made seitan, you know that the uncooked dough tends to have a gummy, stretchy consistency instead of being firm.
Since these meatballs are essentially seitan (though they do include TVP and other ingredients), it's best to keep them fairly small in size. Otherwise, the outsides may over-cook before the centers are done.
I haven't experimented yet with steaming the meatballs, but that would add moisture and might allow for larger sized meatballs. If you give that a try, let us know in the comments.
More Meaty Vegan Recipes
I hope you enjoy these easy vegan meatballs. If you try the recipe I would love to hear from you. Be sure to comment below and let us know!
Recipe Video
Tap to play the video and see how quickly the meatballs come together!
Recipe
Vegan Meatballs (Meaty, Firm and So Easy)
Ingredients
- ¾ cup cooked black bleans, rinsed and patted dry - or use ⅔ cup refried black or pinto beans
- 1 cup TVP (textured vegetable protein)
- ¾ cup hot water
- 2 Tablespoons soy sauce
- 1 Tablespoon apple cider vinegar
- 3 Tablespoons nutritional yeast
- 2 Tablespoons smooth almond butter - or 1 ½ tablespoon oil for nut-free
- 1 Tablespoon Italian seasoning blend
- 1 teaspoon garlic powder
- ½ teaspoon onion powder
- ½ teaspoon smoked paprika
- ¼ teaspoon fennel seed, lightly crushed
- black pepper to taste
- ¾ cup vital wheat gluten - no subs; this is essential to the recipe as written
Instructions
- In a mixing bowl, fully mash the beans with a fork so there are no large pieces. Add the TVP, hot water, soy sauce, and vinegar. Stir well and let sit for 5 minutes to hydrate the TVP.
- Preheat oven to 350 degrees F (176 C), and line a baking sheet with parchment or a silicone mat.
- To the bowl, add the nutritional yeast, almond butter, Italian herbs, garlic powder, onion powder, paprika, fennel seed, and black pepper. Mix well.
- Add the vital wheat gluten. Get in there with your hands and squish and squeeze the mixture together so everything is fully incorporated. Knead the mixture in the bowl for about 30 seconds to develop the gluten.
- Using a scant 1 ½ tablespoons per meatball, scoop or pinch off pieces of the mixture and squeeze in your hand to compact it. Roll between your palms to form a ball. You should end up with 22 to 24 meatballs. It's important not to make the meatballs any larger than this or they won't cook uniformly. Place on the baking sheet.
- Bake for 13 minutes, then carefully flip the meatballs. Bake for another 15 to 17 minutes or until crisp and dry on the outside and piping hot in the center. Note: Meatballs on a silicone mat will require a few more minutes than ones baked on parchment. Also, the meatballs should be dry and crisp on the outside. Once they're coated in sauce they'll be perfect!
- Serve vegan meatballs with pasta and marinara, tossed in mushroom gravy, or with sauce on a meatball sub.
Notes
Estimated Nutrition (per serving)
Nutrition information is an estimate and will vary depending on the exact amounts and specific products and ingredients used.
Brandy
Oh wow, these were *crazy* good! 🥰🥰🥰
George M.
Made these on a cold rainy afternoon. Very easy to mix. I substituted a large garlic clove minced up small.
Cooking was easy and straight from oven is not recommended to eat. I smothered in homemade pasta sauce and heated up. These are very good over orzo, quinoa, or couscous.
George
These turned out fantastic. I used Trader Joe’s canned refried beans instead of the black beans. Thanks for the great recipe the texture was exactly what I have been shooting for and had trouble getting it right until this recipe.
Allison
These turned out great! I used tahini instead of almond butter and they are delicious.
Jeanne
WOW, the texture of the spaghetti balls was perfect!!! Seasoning spot on. I didn’t have TVP so used soy curl dust. Thank you so much for those recipe!
Diane McFadden
Hi Lori! Finally had a chance to make this recipe this morning. Came out perfect and is exactly what I’ve been looking for! Ate one immediately out of the oven and it’s delicious! (Even though I accidently added a teaspoon of chili powder since I had another one of your recipes right next to this one….). Thank you!
Sandy
Hi, I haven't tried this recipe yet but it looks and sounds so good.
Can you suggest a substitute for the TVP please? I was wondering if mushrooms or tempeh might work? Also is the nutritional carb info per meatball please ( I have to keep to a low carb diet).
Thanks for all your lovely recipes. Sandy
Lori
Hi Sandy,
I'm so glad they look good to you! I just updated the serving/nutrition info to be more clear. The numbers are for one serving, or approximately 4 meatballs.
I definitely think mushrooms or tempeh could work, but you'll need to decrease the water since TVP is a dried product. But some water is still needed for the vital wheat gluten. So if I had to take a guess, I'd say reducing the water to 1/2 cup is a good place to start. As you're mixing in the VWG if it seems too dry you can add another splash of water. Another option more similar to TVP is soy curls (they would need to be chopped into tiny pieces). Hope this helps. Let us know if you give it a try!