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.
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.
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.
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
- 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
- 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.
- 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.