Vegan Spaghetti and Meatballs

Hearty homemade meatballs seasoned with Italian herbs, garlic, and parsley get tossed in a rich, umami-packed tomato sauce and served over tender spaghetti. This vegan take on the Italian-American classic is every bit as comforting as the original.

Vegan spaghetti and meatballs in marinara sauce

Spaghetti and meatballs is one of those dishes that instantly pulls you back to simpler days. This version is entirely plant-based, but it carries the same dose of nostalgia: hearty, meaty meatballs loaded with Italian herbs, garlic, and parsley, smothered in an umami-rich marinara, and served over tender spaghetti. Comforting and genuinely familiar.

It also works year-round. Grate on some vegan cheese in winter, or finish with fresh chopped basil once the weather warms up.

As for how these compare to the real thing: next to pork or beef meatballs, these are a touch more tender, closer in texture to a hamburger steak than a firm, dense meatball. They’re still genuinely meaty, a little chewy, and satisfyingly juicy.


Why This Recipe Works

A completely plant-based classic

Plenty of vegan spaghetti and meatball recipes lean on quinoa, lentils, or chickpeas as a base. Those work fine on their own, but if you’re after a genuinely chewy, meaty bite, they tend to fall short.

This recipe wasn’t built to trick meat-eaters, though it wouldn’t be a bad side effect. The real goal was a dish vegans and non-vegans can both sit down and actually enjoy together, and that’s exactly what it delivers.

It started from a base vegan meatball recipe, retested multiple times until the texture and seasoning checked every box. The result holds together well enough to pan-fry, stays slightly chewy, and delivers a genuinely satisfying bite. It does contain textured vegetable protein and vital wheat gluten, but you would never guess either is in there from taste alone.


Ingredient Details

Ingredients for vegan spaghetti and meatballs

TVP

TVP shows up in a lot of recipes on this site, including high-protein vegan burgers, vegan fish fillets, and even vegan roast pork. Here, it brings most of the chewiness and meatiness to the meatballs.

Recommendation: almost any TVP works. Chunks, strips, and slices have all been tested with great results. Soy curls are a slightly less processed alternative made from whole soybeans rather than defatted soy flour, and they work here too, just follow the same basic technique either way.

White beans

Cooked white beans add tenderness and help build structure. Canned beans work perfectly fine, no need to cook them from scratch. Since they’re blended with a good amount of aromatics, there’s no beany flavor left in the final meatballs. Black beans, red kidney beans, or black-eyed peas all substitute well.

Herbs and aromatics

A simple but effective combo of dried thyme, bay leaf, and Italian seasoning forms the base, with smoked paprika, onion powder, and black pepper adding depth. A handful of parsley finishes it off with freshness. Flat-leaf parsley gives the best texture; curly parsley works too, but can turn slightly gritty.

Soy sauce

A splash of soy sauce boosts savoriness and depth. A few drops of dark soy sauce is optional if you want a darker color on the finished meatballs.

Vital wheat gluten

This is what holds the mixture together and gives the meatballs their meaty, slightly chewy bite, so it’s not one to skip. All-purpose flour has been tested as a substitute, and while the meatballs technically hold together, the texture turns dense and sticky rather than chewy. Vital wheat gluten really is the better call here.

Tomato sauce

A jar of store-bought tomato sauce keeps this simple, though homemade works too if you prefer. Marinara or basil tomato sauce are the go-to picks; swap in arrabbiata for a spicier version.

Spaghetti

Any long noodle works here: fettuccine, linguine, or tagliatelle are all fair game if spaghetti isn’t what you have on hand.


How It’s Done

1. Make the meatballs

Rehydrating TVP Processing white beans and aromatics Combining meatball mixture Kneading vital wheat gluten into mixture Shaping the meatballs Formed vegan meatballs ready to cook Pan-frying vegan meatballs Browned vegan meatballs in the skillet

2. Combine

Simmering meatballs in tomato sauce Tossing spaghetti with sauce Plating spaghetti and meatballs Finished vegan spaghetti and meatballs garnished with basil
Air-fry or bake instead of pan-frying: not in the mood to pan-fry? Air-fry or bake the meatballs before adding them to the sauce instead. Either method works well as a hands-off alternative.
Air frying vegan meatballs

Tips

Make the meatballs a day ahead. Refrigerating them overnight lets them firm up and develop an even meatier texture, worth the wait if you have the time.
Don’t leave the TVP too chunky. Process it down to less than ¼ inch, or the meatballs will turn out crumbly instead of holding together.
Don’t simmer the meatballs too long. Two to three minutes in the sauce is enough for them to soak up flavor without turning mushy.
Thin the sauce if needed. Depending on the brand, a splash of water or reserved pasta water may be needed to loosen a thick sauce. Add a pinch of salt afterward, since the extra liquid dilutes the seasoning.

Variations

Want more texture in the sauce? Stir in chopped sun-dried tomatoes, olives, corn, or marinated artichoke hearts. The options here are genuinely wide open.

Play with the seasonings. Italian seasoning is the default here, but any dried herb blend you like works. Processing the beans with a handful of fresh basil also adds a nice hit of freshness.


Serving Suggestions

Fresh chopped basil is the go-to garnish on warmer days. Since this is genuinely an all-season dish, grated vegan mozzarella or parmesan makes it heartier for cooler months, and a pinch of red pepper flakes adds a spicy kick whenever you want one.

Vegan spaghetti and meatballs garnished with fresh basil

Storing and Freezing

Cooked meatballs and sauce keep in an airtight container in the fridge for up to 3 to 4 days. For longer storage, steam the meatballs and refrigerate them separately for up to 4 days, then shallow-fry and toss in sauce right before serving. The meatballs also freeze well once cooked; thaw before reheating for the best texture.


Frequently Asked Questions

Is this recipe gluten-free?

No, and it’s not really adaptable to be. Both the TVP and vital wheat gluten are essential to the texture here, so there isn’t a reliable gluten-free substitution to recommend.

Can I bake the meatballs instead of steaming or pan-frying?

Baking has been tested, but the results came out too hard on the outside compared to pan-frying or air-frying. Stick with one of those methods for the best texture.

Can I make the meatballs ahead and store them uncooked?

Steam the meatballs and refrigerate for up to 4 days. When ready to eat, shallow-fry them and toss straight into the sauce.

And there you have it, a flavor-packed dish perfect for a cozy weekend dinner. Hope you love it as much as we do.


More Pasta Recipes to Try

Creamy Caramelized Onion Pasta · Easy Leek Pasta · Creamy Kimchi Pasta · Easy Vegan Pasta Stir-Fry


Vegan Spaghetti and Meatballs

⏱️ Prep: 30 mins 🔥 Cook: 25 mins 🍽️ Serves: 4

Ingredients

For the meatballs

  • 2 cups (200g) TVP chunks or strips
  • 1 cup (240ml) hot vegetable broth, for rehydrating
  • 1 can (15 oz) white beans, drained and rinsed
  • 3 cloves garlic, minced
  • ⅓ cup (75g) vital wheat gluten
  • 2 tbsp soy sauce
  • 1 tsp dried thyme
  • 1 bay leaf, crumbled (or ½ tsp ground bay leaf)
  • 1 tbsp Italian seasoning
  • 1 tsp smoked paprika
  • 1 tsp onion powder
  • ½ tsp black pepper
  • ⅓ cup (15g) chopped flat-leaf parsley
  • 2 tbsp neutral oil, for pan-frying

For serving

  • 1 jar (24 oz) marinara or basil tomato sauce
  • 12 oz (340g) spaghetti
  • Fresh basil or grated vegan parmesan, for garnish
  • Red pepper flakes (optional)

Instructions

  1. Rehydrate the TVP: pour the hot vegetable broth over the TVP in a bowl and let sit 10 minutes until softened. Drain any excess liquid, then pulse in a food processor until finely textured, less than ¼ inch in size.
  2. Process the beans: in the same food processor, combine the white beans and minced garlic and pulse until mostly smooth.
  3. Combine the mixture: in a large bowl, mix the processed TVP, bean mixture, vital wheat gluten, soy sauce, thyme, bay leaf, Italian seasoning, smoked paprika, onion powder, black pepper, and parsley. Knead by hand for 1 to 2 minutes until well combined and slightly elastic.
  4. Shape the meatballs: form the mixture into balls about 1.5 inches wide. For the best texture, refrigerate at least 1 hour, or ideally overnight.
  5. Cook the meatballs: heat oil in a skillet over medium heat and pan-fry the meatballs, turning occasionally, until browned on all sides, about 8 to 10 minutes. Alternatively, air-fry at 375°F (190°C) for 12 to 15 minutes, or bake at 400°F (200°C) for 20 minutes, flipping halfway.
  6. Cook the spaghetti: boil according to package directions. Reserve a splash of pasta water before draining.
  7. Combine: warm the tomato sauce in a large pan, thinning with a splash of water or reserved pasta water if needed. Add the cooked meatballs and simmer gently for 2 to 3 minutes, just enough to coat them without turning them mushy.
  8. Serve: toss the spaghetti with a portion of the sauce, then top with meatballs and extra sauce. Garnish with fresh basil, vegan parmesan, or red pepper flakes as desired.

Notes

  • Make ahead: shape and refrigerate the raw meatballs up to a day in advance for a meatier texture.
  • Freezing: cooked meatballs freeze well. Thaw in the fridge overnight before reheating in sauce.
  • Not gluten-free: both TVP and vital wheat gluten are essential to the texture and cannot be reliably substituted.

Leave a Comment

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