Disclosure: This post may contain affiliate links. I may earn a small commission for my endorsement, recommendation, testimonial, and/or link to any products or services from this website.
Look no further for the best vegan meatballs. These meatballs are hearty, packed with plant-based protein, yet made with simple ingredients found right in your pantry. Gluten-free, nut-free, oil-free option.
These Vegan Meatballs are made with simple plant-based ingredients and packed with mouthwatering flavor. They’re meal-prep friendly, freezer friendly, and the perfect pair for a bowl of vegan spaghetti. Have these ready to eat in 1 hour or less!
Table of Contents

Not Your Average Vegan Meatballs
Let’s be honest. Most of the vegan meatball recipes online are made with great ingredients, look convincing, but miss the mark in the texture department. When developing this recipe I wanted to create a meatball that was both flavorful and had a good texture….because biting into a ball of mush? Not appetizing.
After much testing and ratio tweaking, we’ve got a plant-based take on Italian-style meatballs that are packed with tasty spices, herbs, and a cheesy flavor thanks to nutritional yeast. And the best part? They’re not only good, but good for you too.
What You Need for Vegan Meatballs
Making the best vegan meatballs from scratch is more involved than many of my other recipes, but each ingredient plays a key role and is worth the additional effort.
The combination of chickpeas, shredded tofu, and soaked sunflower seeds creates a superior meaty texture that’s high in protein, fiber, plus an authentic chew that rivals the best vegan meatball brands.Plus, the flavor base of mushrooms, onion, spices, tomato paste and vegan Worcestershire sauce pack a LOT of umami flavor as well as give them a lovely golden brown color. Note that Worcestershire sauce often contains anchovies, but some stores carry vegan versions.

How to Make Vegan Meatballs

- Using a food processor, pulse the onion, sunflower seeds, mushrooms, and parsley until a fine consistency forms.
- Cook this mixture in a warm skillet along with nutritional yeast, tomato paste, and spices. The mushrooms should darken in color and most of their liquid should evaporate.
- Process the rolled oats into a breadcrumb-like texture.
- Add the grated tofu, chickpeas, flaxseed, mushroom mixture, and Worcestershire sauce. Process again until everything is combined.
- Scoop meatballs into even balls. Roll each ball in between oiled or wet hands until round and uniform.
- Cook the meatballs until golden and crispy on the outside.
- Serve as desired or store for meal prep!

Caitlin’s Cooking Tips
- Dry your ingredients well. It’s important to dry your sunflower seeds well after soaking, as well as cooking down the mushroom mixture thoroughly. Otherwise your meatballs will have too much moisture, be mushy, and not hold their shape.
- Use weighted measurements, when possible. Similar to baking, getting your meatballs to have the right consistency requires exact measurements. If you add in too many wet ingredients, your meatball mixture will be too wet and mushy. If you add in too many dry ingredients (oats), your meatballs will be dry instead of tender. I’ve added weighted measurements where possible to help you make the best meatballs possible.
Serving Suggestions
Meatless meatballs can be served any way you’d serve classic meatballs. Simmer them in your favorite marinara sauce, serve them on top of your favorite pasta recipes or zucchini noodles, stuffed in a meatball sub, or served alongside Instant Pot Garlic Rice and a simple Shaved Fennel Salad or a fresh Tomato Cucumber Basil Salad.
You can even serve them as a delicious cocktail appetizer or vegan Swedish meatballs.
If you’re looking for more wholesome Italian-inspired vegan recipes, you’ll also love this Vegan Tofu Parmesan, this One Pot Vegan Lasagna Soup and these 5 Italian-Inspired Vegan Meals for Under $3.
How to Store Vegan Meatballs
Homemade vegan meatballs will keep in an airtight container in the refrigerator for up to 5 days or in the freezer for up to 2 months. Before covering and storing, allow the meatballs to cool completely to room temperature.
If freezing, I recommend flash freezing first. Spread the meatballs on a baking tray and place the tray in the freezer for 1-2 hours, or until the vegan meatballs are frozen completely solid. Then, transfer them to a freezer bag or freezer-safe container to prevent them from sticking to each other.
Reheat leftovers using one of the 3 cooking methods until warmed through, about 10 minutes. If cooking meatballs from frozen, they may take a couple minutes longer to warm up.

Substitutions and Variations
I wanted this vegan meatball recipe to be just as versatile as traditional meatballs, so I tested these meatballs using 3 different cooking methods: bake them in the oven, pan-fry them on the stovetop, or air-fry them, if you have one!
- Bake method: Lightly spray the meatballs with cooking oil and bake for 20 minutes, then move to the top oven rack and bake for 10 additional minutes. **This is my favorite method!
- Pan-fry method: Place the meatballs in a warm skillet over medium heat and cook on each side for about 2 minutes, until crispy. This version is slightly softer in the center but are the juiciest!
- Air-fry method: Ari fry for 15-20 minutes at 360F, or until golden on the outside. Results with air frying are somewhere between baking and pan-frying. Great option for smaller portions and reheating, but several batches are necessary.
Additionally, here are a few subs you can make depending on your diet or to suit what’s already in your pantry:
- Sunflower seeds alternative: Try chopped walnuts.
- Soy-free option: Swap the tofu with cooked and cooled lentils or seitan made with vital wheat gluten (not gluten-free!).
- Gluten-free option: These veggie balls are naturally gluten-free if you use gluten-free certified rolled oats.
- Oil-free option: Sauté the mushroom mixture in a splash of water or vegetable broth instead of oil and skip spraying the meatballs before cooking. Oil-free meatballs will be less crispy on the exterior, but will still have fantastic flavor.

Recipe FAQs
This vegan meatballs recipe is held together using ground flaxseed and rolled oats. A flax egg is a classic go-to egg replacer in my recipes and rolled oats is one of my favorite bread crumbs substitute to help absorb excess moisture and hold the mixture together.
I personally find the interior texture of these meatballs best when baked. They’re browned on the outside, yet nice and meaty in the center.
The key difference is in the spices. These Italian-inspired plant-based meatballs are well seasoned with flavorful spices such as Italian seasoning, fennel seeds, fresh parsley, and quality olive oil.

Enjoy! If you make this recipe and decide to share it on Facebook or Instagram, don’t forget to tag me @FromMyBowl + #FromMyBowl! I would also love it if you could leave a comment below with a recipe rating! Thank you for the support 😊

The BEST Vegan Meatballs
Ingredients
- 1/2 yellow onion roughly chopped
- 2/3 cup soaked sunflower seeds*
- 8 ounces cremini shrooms quartered
- 2 tablespoons chopped fresh parsley optional
- 2 teaspoons olive oil
- 3 tablespoons nutritional yeast
- 1 tablespoon tomato paste
- 1 teaspoon garlic powder
- 1 teaspoon Italian seasoning
- 1/2 teaspoon smoked paprika
- Black pepper to taste
- 1/2 teaspoon red pepper flakes optional
- 1 teaspoon fennel seeds optional
- 1/4 teaspoon salt
- 1 cup rolled oats gluten-free if necessary
- 7 ounces extra-firm tofu grated (1/2 block)
- 1 15.5- ounce can garbanzo beans drained and rinsed
- 3 tablespoons ground flaxseed
- 1/4 cup Vegan Worcestershire Sauce
- Spray or cooking oil for frying/baking
Instructions
- Prep: Soak the sunflower seeds in warm water in a small bowl while you prep the remaining ingredients. If you are baking your meatballs, preheat the oven to 400F and line a baking sheet with parchment paper or a silicone mat. Set up your food processor with an S-blade attachment.
- Base Flavors: Add the onion, sunflower seeds, mushrooms, and parsley (if using) to the food processor. Pulse until a fine consistency forms. Warm the oil in a medium saute pan over medium heat and add in the pulsed mixture along with the nutritional yeast, tomato paste, garlic powder, italian seasoning, smoked paprika, pepper, and chili flakes, fennel, and parsley, if using. Sprinkle salt over this mixture and sauté for 8 to 10 minutes, until the mushrooms have darkened in color and most of their liquid has evaporated.
- Add Texture: First, add the rolled oats to the same food processor (no need to rinse it out) and process for 15 to 20 seconds, until a fine breadcrumb-like texture forms. Add in the grated tofu, chickpeas, flaxseed, cooked mushroom mixture and vegan worcestershire sauce. Process until everything is evenly combined – try not to over process the mixture though, to keep some texture.
- Form Your Meatballs: Use a 1 1/2 tablespoon-sized cookie scoop (or large spoon) to divide the meatball mixture into even balls – mine made around 55 balls. Wet your hands with either spray oil or water and roll each ball into your hands to form a uniform sphere.
- Cook: Depending on your preference…
- Bake: Lightly spray your meatballs with cooking oil if you want a crispier finish. Bake at 400F in the middle rack of the oven for 20 minutes. Briefly remove from the oven, flip, and bake on the top rack for an additional 10 minutes, or until golden.
- Pan-Fry: Coat the bottom of a sauté pan with oil and warm over medium heat. Add the meatballs and cook each side for around 2 minutes, using tongs to rotate them. Transfer to a towel to absorb any excess moistture. The outside of each meatball will be crisp, but the inside will still be tender – feel free to finish the meatballs in the oven or air-fryer for 5-10 minutes to firm them up.
- Air-Fry: Place the meatballs in the basket of your air fryer, making sure not to overcrowd it. Bake at 360F foor 15-20 minutes, shaking the basket (or rotating the meatballs) every 5 minutes for more even cooking.
- Serve: As desired; these meatballs can be simmered in sauce once fully cooked, or alongside spaghetti with sauce, in a sub or wrap, or however you fancy! Cooked meatballs can be stored in the refrigerator for up to 5 days, or frozen for up to 2 months. I recommend freezing the meatballs on a baking tray first and then transferring to a bag or container to prevent them from sticking to each other.
Recipe Notes
- Soaked Sunflower Seeds: Place the sunflower seeds in a medium-sized bowl and cover with boiling water (I use my electric kettle). Let sit for 10-15 minutes, until visibly “swollen” and the water has darkened. Drain well and pat dry with a kitchen towel.
- Italian Seasoning: If you don’t have Italian seasoning, use 1/3 tsp each dried oregano, thyme, and rosemary.
Not at all meatballs. However, they are little balls of protein joy!!!!! I’m a vegetarian, not a vegan. These are delicious. I cooked five or six as soon as the recipe was done and scooped and froze the rest. My food processor was not large enough to blend all of the things together at the end, so I added the oatmeal chickpea mixture right into the pot where I was cooking the mushroom mixture. It worked out fine.
It’s good to know everything worked out, Tricia! Thank you for leaving a review.
I love how complex these meatballs are, often vegan “meat” recipes are lacking in texture but the oats and mushrooms make these so hearty. I used walnuts instead of sunflower seeds and they were great, I’ll add extra Worcestershire and tomato paste next time to boost the flavor. The only gripe I have is that this recipe has a longg prep time, so this is more of a special occasion recipe for me than an everyday dinner one.
Happy you liked it, Kaia! Agreed, this could be an occasion recipe.
Soooo yummy! The only thing I changed was adding tamari and balsamic vinegar instead of Worcestershire sauce. I used the baking method and loved the flavor and texture. We had it with einkorn spaghetti and Rao’s sauce along with some steamed kale. Great recipe. I could have this every weekend:)
Thank you so much Annie! 🙂
These have a great meaty texture. I only had 2 tbsp of vegan wors. left so I used soy sauce to supplement and it worked well. They get crispy on the outside if you spray them with the oil and they dont break apart easily. They also soak up the sauce. They are more labor intensive in terms of prep but not really hard to make at all. You can also stop at step one and use the first mixture as crumbles for tacos 🙂
So glad the soy sauce sub worked for you! Thanks for leaving a review 🙂
These look really good! Can you provide the nutritional information on these meatballs? I follow a WFBP with no oil and dairy, and I watch my fat intake to help with other health issues.
Hi Hilary! You can revisit the recipe and scroll down until you get to “Recipe Notes”, below that would be “Nutrition” then just click the button to “View information”
These are amazing. They are super easy to make and I love that you can freeze the extras for a lazy day. I don’t like the “fake meat” style meatballs like most of the store brands so I was really excited to see this recipe and had to try it right away. I’ve made them twice now and perfect each time! I used the baking method both times.
Thanks, Madison! So glad to hear you enjoyed it 🙂
I’m making these today, but I have an intolerance to soy. What I can use instead of tofu?
Hi Luz. Seitan or lentils are good alternatives.
This recipe looks epic. Thanks for putting it together!
My pleasure, Stanley!
These were really, really good! I loved the firm texture from baking – they held up very well in a sandwich unlike some other vegan meatball recipes I’ve tried. I only got 30 meatballs though, even measuring 1.5Tbsp per ball which was odd – not sure how it was so far off. Regardless, recipe worked out perfect and I will make it again!
Glad to know it turned out great, Valerie! Thank you for the feedback.
This look really good! What could I sub for the mushrooms?
Glad to hear you like the recipe! Personally, we have not tried substituting but if you prefer not to use mushrooms, you could try substituting them with another vegetable such as diced zucchini, eggplant, or bell pepper. You could also try using a combination of vegetables to add flavor and texture to the meatballs. Experiment and have fun with it!
The reason for 4 stars not 5? A good meatball, just more steps then i usually like…g
discovered the recipe an hour ago – the meat balls are still in the oven but I can’t wait to finally eat them because the smell is already insane 🙂
I hope you loved the recipe, Antonia!
I assume I could sub walnuts for sunflower seeds if that’s what I’ve got, right? Can’t wait to make these!!!
Yes you can! 🙂
I made this last night and my boyfriend and I loved it! I served it over Black Bean Fettuccine so it was just effect for a spooky Halloween theme dinner. The meatballs have really nice flavor. I baked them and immured them oil so they were completely plant based and oil free! We’ve been eating WFPB for 6 months and my boyfriend said this was his favorite meal so far! Thank you!!
Glad you and your boyfriend loved it, Robin! 6 months is an achievement! Way to go!
Thanks! I was vegan before but really honed in on WFPB Sugar and oil free. It’s been good!!