Vegan Meatballs Recipe photo by Taste of Home
Total Time
Prep: 30 min. Cook: 10 min.
Serve these hearty vegan meatballs with spaghetti and marinara sauce for a quick, healthy dinner.

Updated: Mar. 25, 2024

These delicious vegan meatballs are healthy, easy to make and packed with Italian flavor. Since plant-based meats freeze well, consider making a supersized batch and storing some for the next time you crave pasta.

Psst: This same recipe can be used to make veggie burgers, too!

Ingredients for Vegan Meatballs

vegan meatballs inrgedientsTMB STUDIO

  • Canned black beans
  • Olive oil
  • Shallot
  • Garlic cloves
  • Quick-cooking oats
  • Tomato paste
  • Ground fennel seed
  • Dried basil
  • Garlic salt


Step 1: Bake the beans

Black beans on baking sheetTMB STUDIO

Preheat the oven to 350°F. Spread the beans evenly on a rimmed baking pan lined with parchment. Bake until the beans start to split open, 6 to 8 minutes.

Editor’s Tip: Why bake the beans? It causes some of the moisture to evaporate, which means your meatball mix will have a nicer texture. Don’t have black beans? Substitute another type of canned beans, like cannelloni beans.

Step 2: Cook shallot and garlic

shallot in frying pan with handTMB STUDIO

Meanwhile, in a large skillet, heat 2 teaspoons oil over medium heat. Add the shallot; cook and stir until tender, about 5 minutes. Add garlic; cook, stirring, one minute longer.

Editor’s Tip: If you can’t find a shallot, substitute red onion or sweet onion.

Step 3: Blend the ingredients

Ingredients In MixerTMB STUDIO

Transfer beans to a food processor. (If you don’t have a food processor, mash the beans with a potato masher or pastry blender.) Add shallot mixture, oats, tomato paste and spices. Pulse until mixture is just combined.

Step 4: Shape

Hands Mixing Ingredients Into Vegan MeatballsTMB STUDIO

Shape level teaspoons of dough into balls. If you don’t want any of the mixture to stick to your hands, coat them with a little bit of olive oil.

Step 5: Cook

cook vegan meatballsTMB STUDIO

Heat the remaining 4 teaspoons oil in the same skillet that you used for the shallots. If the skillet can comfortably hold all of the meatballs, do one batch. If not, divide them into two batches. Turn the meatballs occasionally and cook until browned on the outside and heated through, 6 to 8 minutes.

Vegan Meatballs Variations

To use a bit less fat in your cooking, bake the vegan meatballs at 350° on a greased rack in a 15x10x1-inch baking pan. They should be lightly browned and cooked through in 10 to 12 minutes. Or, use an air fryer! Oil the air fryer and preheat to 325°. Working in batches, place the meatballs in a single layer and cook until lightly browned, around 8 to 10 minutes.

To mix up the flavor, try one of these amazing spice blends in place of the spices called for in this recipe.

How should you store leftover vegan meatballs?

Cooked meatballs can be stored in a glass container with a tight-fitting cover, and should be used within 3 days for best quality.

Can you freeze vegan meatballs?

Absolutely! Vegan meatballs are an excellent candidate for freezing. Just place the meatballs on waxed paper-lined baking sheets until firm. Transfer to freezer containers and return to freezer. Cook as directed in the recipe.

Vegan Meatballs Tips

Vegan MeatballsTMB Studio

How can you keep vegan meatballs from falling apart?

As the recipe is written, the meatballs should hold together; however there is always some variability in ingredients. If your mixture is too loose, try grinding more oats into flour and add them to the mixture. For dough that’s dry and crumbly, introduce a little more moisture. If you’re not vegan, an egg is a perfect way to do this. If you are, use chia seeds soaked in water, or flax meal mixed with water, to make a goopy egg substitute for your mixture.

What can you serve with vegan meatballs?

These meatballs have an Italian flavor and are perfect baked into a pasta casserole, in a vegan cheesy meatball sub or on top of spaghetti—all covered with vegan cheese and marinara. The meatballs are gluten-free, so you can also serve them with gluten-free pasta or zoodles. Or, try adding them on to one of our delish vegan pasta recipes.

Watch how to Make Vegan Meatballs

Vegan Meatballs

Prep Time 30 min
Cook Time 10 min
Yield 4 servings.


  • 1 can (15 ounces) black beans, rinsed and drained
  • 6 teaspoons olive oil, divided
  • 1 large shallot, minced
  • 1 garlic clove, minced
  • 1/3 cup quick-cooking oats
  • 2 tablespoons tomato paste
  • 1/2 teaspoon ground fennel seed
  • 1/2 teaspoon dried basil
  • 1/4 teaspoon garlic salt


  1. Preheat oven to 350°. Spread beans evenly on a parchment-lined rimmed baking pan. Bake until beans start to split open, 6-8 minutes; cool slightly.
  2. Meanwhile, in a large skillet, heat 2 teaspoons oil over medium heat. Add shallot; cook and stir until tender, about 5 minutes. Add garlic; cook 1 minute longer. Transfer beans to a food processor. Add shallot mixture, oats, tomato paste and seasonings; pulse until mixture is just combined. Shape level tablespoons of dough into balls.
  3. In the same skillet, heat remaining 4 teaspoons oil over medium heat. In batches if needed, cook meatballs until browned and cooked through, 6-8 minutes, turning occasionally.

Nutrition Facts

About 4 meatballs: 186 calories, 7g fat (1g saturated fat), 0 cholesterol, 331mg sodium, 23g carbohydrate (2g sugars, 5g fiber), 7g protein. Diabetic Exchanges: 1-1/2 starch, 1-1/2 fat, 1 lean meat.