This post may contain affiliate links, view our disclaimer for details.

These vegan meatballs are firm, hearty, and designed to hold their shape in sauce, making them a reliable option for everything from spaghetti to subs. They’re made with TVP for a classic, meaty texture and are easy to prep ahead, bake, and freeze for later.

If you love making recipes with TVP, be sure to check out my homemade vegan ground beef or this vegan chorizo recipe.

Close-up of vegan meatballs in marinara sauce with one meatball cut open to show a tender, meaty texture inside.
vegan meatballs made from TVP & seitan

Why You’ll Love These Vegan Meatballs

I’ve always liked the Gardein vegan meatballs. But buying them regularly adds up, and I wanted a version I could make at home that had the same meaty texture. This homemade version has even more protein, and is made with ingredients I already keep in my pantry.

Emily’s Recipe Notes:

  • Flavor: Savory and versatile- not overly Italian making them great for a variety of recipes.
  • Texture: Meaty and firm.
  • Difficulty: Easy.
  • Time: Under an hour- most of the time is shaping the meatballs.

Why This Recipe Works

I developed this recipe by reverse engineering the ingredient list and macros of Gardein vegan meatballs, then testing different ratios at home to dial in the texture.

This homemade version ends up with even more protein per serving, using a simple combination of TVP and seitan. See below for more details on what they’re made of!

Ingredients

Ingredients for vegan meatballs arranged in bowls, including textured vegetable protein, vital wheat gluten, oat flour, tomato paste, olive oil, nutritional yeast, spices, and veggie bouillon.
what you’ll need

Ingredient Highlights & Some Swaps

Vital Wheat Gluten

Vital wheat gluten is what gives these vegan meatballs their structure and chew. It helps the mixture bind together and creates that firm, meaty texture that holds up well in sauce.

Without it, the meatballs would be much softer and more crumbly. If you’re familiar with seitan, this is the ingredient that makes that texture possible.

Texturized Vegetable Protein (TVP)

TVP makes up the bulk of these meatballs and is responsible for their ground-meat-like texture. I like to pulse the dry TVP in a food processor for a few seconds before hydrating it. This creates a finer texture and makes shaping the meatballs easier and more uniform.

I used Anthony’s TVP, which I order online, but any plain, unseasoned TVP will work here.

Spices

These meatballs are savory and flavorful but intentionally versatile. The seasoning blend is simple and classic, with garlic powder, onion powder, fennel seeds, chili flakes, salt, and black pepper. This keeps them neutral enough to work with marinara, subs, or other sauces without overpowering the dish.

TIP: If you want a stronger Italian-style flavor, you can add dried oregano or basil.

Tomato Paste

A small amount of tomato paste adds depth and savory flavor without making the meatballs taste overly tomato-forward. It helps round everything out and reinforces that classic meatball profile.

Olive Oil

Olive oil adds fat, which improves both flavor and texture. It helps keep the meatballs from tasting dry and gives them a more satisfying mouthfeel, especially after baking and reheating.

Avocado oil or any neutral oil will also work here.

Oat Flour

Oat flour acts as a binder and helps soften the texture without making the meatballs bready. It also helps absorb moisture and keeps the mixture easy to work with when shaping.

How to Make Vegan Meatballs

Exact ingredient quantities are in the recipe card below!

Veggie broth mixed with olive oil, spices, and seasonings in a bowl to hydrate textured vegetable protein.

Whisk the spices in a large bowl. Add the water, soy sauce, tomato paste and veggie bouillon paste. Then, mix to combine.

Textured vegetable protein added to seasoned veggie broth to hydrate before mixing the vegetarian meatball dough.

Add the dry TVP to the wet ingredients. Let sit for 5 minutes to hydrate.

Vital wheat gluten being added to a bowl of hydrated textured vegetable protein during tvp meatball preparation.

Stir the vital wheat gluten and oat flour into the hydrated TVP. Use your hands to gently knead the mixture into a dough.

Scooping plant based meatball mixture with a cookie scoop to portion evenly sized meatballs.

Divide the vegan meatball mixture into 16 equally-sized balls (or 12 larger portions).

Uncooked vegan meatballs shaped and arranged on a foil-lined baking sheet before baking.

Use your hands to gently knead each ball for 10-15 seconds, then roll into a ball. Place on an oiled foil-lined baking pan.

baked vegetarian meatballs on a foil lined baking pan.

Bake the vegan meatballs for 20-22 minutes, flipping halfway.

Finishing the Meatballs

After baking, I like to quickly pan-fry the vegan meatballs for the best texture. Heating them in a skillet with a little olive oil over medium-low heat for 2–3 minutes per side helps develop a lightly crisp exterior while keeping the inside tender.

Once they’re browned, you can add your favorite sauce, like marinara, and finish with fresh herbs if you’d like. I don’t recommend skipping the pan frying- it really helps improve the overall texture and helps finish cooking the meatballs.

Baked vegan meatballs arranged on a platter as an appetizer, garnished with herbs and served without sauce.
baked vegan meatballs

Storing the Vegan Meatballs

After baking, let the vegan meatballs cool completely, then store or freeze as needed. They can be frozen for up to 2–3 months, which makes this recipe great for meal prep. I often make a double batch and keep them in the freezer for easy weeknight dinners.

To reheat from frozen, pan-fry the meatballs in a little oil over medium-low heat for 4–5 minutes per side, covering the pan to help them thaw and heat through evenly.

If storing in the fridge, keep the baked meatballs in an airtight container for up to 5 days.

Vegan meatballs coated in tomato sauce with a fork lifting one meatball, showing a firm yet juicy interior.
vegan meatballs with marinara sauce

More Vegan ‘Meat’ Recipes

The Ultimate Vegan Chicken – Tender, Juicy Seitan Recipe

Vegan Steak

Vegan Chorizo (Trader Joe’s Soy Chorizo Copycat)

How to Make the Best Vegan Beef {Seitan Recipe}

Did You Make These Vegan Meatballs?

I’d love to know! Leave a star rating and comment below!

Best Vegan Meatballs

5 from 1 vote
Rate this Recipe
By Emily
These easy vegan meatballs are made with TVP and have over 25g of protein per serving. This meaty seitan recipe is omnivore-approved and perfect for subs or spaghetti.
16 meatballs
Prep Time 30 minutes
Cook Time 25 minutes
Total Time 55 minutes
Servings 16 meatballs
16 meatballs

Ingredients

Seasonings:

  • ¾ tsp table salt, 3.5g
  • 1 tsp onion powder, 3g
  • 1 tsp garlic powder, 3g
  • ½ tbsp nutritional yeast, 2.5g
  • tsp ground black pepper, .1g
  • ¼ tsp fennel seeds, .5g – roughly ground
  • 1 tsp dried parsley, .5g
  • tsp crushed red pepper flakes, .25g

Everything Else:

  • 1 cup water, 220g
  • ½ tbsp low sodium soy sauce, 7g – or tamari
  • ½ tbsp tomato paste, 8g
  • 1 tsp Better Than Bouillon Vegetable Paste, 6g
  • 3 ½ tbsp extra virgin olive oil, 35g
  • 75 grams texturized vegetable protein, dry – about 1 ¼ cup
  • 100 grams vital wheat gluten, about ¾ cup – spooned and leveled
  • 2 tbsp oat flour, 20g

Instructions

  • Prepare the TVP: Add the dry TVP to a food processor and pulse briefly until it has a finer texture, but not a powder. This helps the meatballs hold together and makes shaping easier.
  • Mix the seasonings: In a large bowl, whisk together all of the seasonings.
    ¾ tsp table salt, 1 tsp onion powder, 1 tsp garlic powder, ½ tbsp nutritional yeast, ⅛ tsp ground black pepper, ¼ tsp fennel seeds, 1 tsp dried parsley, ⅛ tsp crushed red pepper flakes
  • Whisk Liquids: Add the water, olive oil, soy sauce, tomato paste, and bouillon. Then, whisk until well combined.
    1 cup water, ½ tbsp low sodium soy sauce, ½ tbsp tomato paste, 1 tsp Better Than Bouillon Vegetable Paste, 3 ½ tbsp extra virgin olive oil
  • Hydrate the TVP: Add the pulsed TVP to the bowl and stir to combine. Let it sit for 5 minutes so the TVP can fully hydrate.
    75 grams texturized vegetable protein
  • Add Dry Ingredients: Add the vital wheat gluten and oat flour. Mix with your hands and knead briefly, about 1–2 minutes, until the mixture is uniform and slightly elastic.
    100 grams vital wheat gluten, 2 tbsp oat flour
  • Shape the meatballs: Scoop and roll the mixture into 16 meatballs (about 30 g each), or 12 larger meatballs, depending on preference. Use your hands to gently knead each portion for 10–15 seconds, then roll into a smooth ball.
  • Bake: Preheat the oven to 400°F (205°C). Arrange the meatballs on a lightly oiled, foil-lined baking sheet. Bake for 20 minutes, flipping halfway through.
  • Finish in the pan: Heat a skillet with a little oil over medium-low heat. Pan-fry the baked meatballs for 2–3 minutes per side until lightly browned. Add sauce as desired.
  • Serve immediately, or let the meatballs cool and freeze. To reheat from frozen, pan-fry in a covered skillet until heated through.

Recipe notes

  • Seasoning: These vegan meatballs are intentionally seasoned to be savory and versatile, so they work well with marinara, subs, or other sauces. If you prefer a stronger Italian-style flavor, you can add dried oregano, basil, or Italian seasoning to the mixture.
  • Texture tip: Pulsing the TVP before hydrating creates a finer texture and makes the meatballs easier to shape and less likely to crumble.
  • Freezing: The meatballs can be frozen directly after baking. Reheat from frozen in a covered skillet to warm them through evenly without drying them out.

Nutrition

Serving: 4meatballsCalories: 227kcalCarbohydrates: 12gProtein: 25gFat: 9gSaturated Fat: 1gFiber: 3g

Nutrition information provided is an estimate and will vary based on cooking methods and brands of ingredients used.

Course Vegan Main Courses
Cuisine Italian-Inspired

© Thank You Berry Much. Content and photographs are copyright protected. Sharing of this blog post is encouraged and appreciated, copying or pasting full recipes to any social media, website or print is strictly prohibited.

Vegan meatballs simmered in marinara sauce, garnished with fresh basil and parsley, served in a shallow bowl with crusty bread on the side.

Did You Make This?

Leave a star rating and a comment below to let others know how it turned out for you!

two images of the homemade vegan meatballs with a text overlay describing the recipe.
pin this to Pinterest!

More Seitan Recipes to Try

Crispy Vegan Buffalo Chicken

Vegan Philly Cheesesteaks with Seitan

Classic Vegan Pot Roast with Seitan Beef

Categories:

, , , , , , ,

Leave a Reply

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

Recipe Rating





5 from 1 vote (1 rating without comment)

Even More Recipes You'll Love...