Go Back
Vegan Meatballs in saute pan with marinara sauce topped with fresh parsley. A wooden spoon holds 2 meatballs in the pan

The BEST Vegan Meatballs

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.
Course Main
Cuisine American
Diet Vegan
Method Oven, Stovetop
Prep Time 20 minutes
Cook Time 40 minutes
Total Time 1 hour
Calories 2141kcal
Author Caitlin Shoemaker



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


Calories: 2141kcal | Carbohydrates: 258g | Protein: 109g | Fat: 86g | Saturated Fat: 9g | Polyunsaturated Fat: 37g | Monounsaturated Fat: 29g | Sodium: 1820mg | Potassium: 5147mg | Fiber: 69g | Sugar: 43g | Vitamin A: 1970IU | Vitamin C: 35mg | Calcium: 664mg | Iron: 34mg