These Vegan Meatballs are hearty, savory, and packed with flavor! Made with beets, black beans, toasted walnuts, and fresh basil, they’re tender, satisfying, and naturally gluten-free. Bake them in the oven and serve with spaghetti and a rustic tomato sauce for a wholesome, plant-based twist on classic comfort food.

vegan meatballs made with beets and black beans, in a bowl of spaghetti.

May you take time to celebrate the quiet miracles that seek no attention. ~John O’Donohue

Who says meatballs need meat? These Vegan Meatballs are made with beets, black beans, toasted walnuts, and fresh basil, creating a wonderfully hearty, savory texture that’s deeply satisfying. The beets give them a beautiful color, while the walnuts add richness and the black beans bring everything together.

We lovingly call them “beetballs,” and they’re one of our favorite ways to turn simple, wholesome ingredients into comforting plant-based food. Bake them until firm and tender, then tuck them into a bowl of spaghetti with rustic tomato sauce, pile them into a meatball sandwich, or serve them with zucchini noodles for something lighter.

Best of all, they’re naturally gluten-free, easy to make ahead, and perfect for meal prep.

These Vegan Meatballs are hearty, savory, and packed with flavor! Made with beets, black beans, toasted walnuts, and fresh basil, they're tender, satisfying, and naturally gluten-free. Bake them in the oven and serve with spaghetti and a rustic tomato sauce for a wholesome, plant-based twist on classic comfort food.

Why you’ll love these Vegan Meatballs

Hearty and flavorful! Black beans, toasted walnuts, and beets create a deliciously savory, satisfying texture.

Wholesome and nourishing. Packed with vegetables, plant-based protein, and fiber. Naturally vegan and gluten-free.

Baked, not fried. Easy to prepare, with a tender interior and firm exterior.

Versatile and meal-prep friendly. Delicious with spaghetti, tucked into meatball subs, or served with your favorite sauce.

ingredients in vegan meatballs

Vegan Meatball ingredients

  • Black beans: Create a hearty, satisfying base and add plant-based protein. Drain well before using.
  • Walnuts: Toasted walnuts add richness, texture, and a hearty, meaty bite.
  • Beets: Add earthy sweetness, moisture, and beautiful color. Use raw, peeled (or scrubbed)beets.
  • Carrot: Adds subtle sweetness and helps balance the earthy beets.
  • Yellow onion: Adds savory depth and natural sweetness. A white onion works too.
  • Garlic: Fresh garlic gives the meatballs a delicious savory flavor.
  • Fresh basil: Adds bright, aromatic flavor. Fresh parsley can be substituted.
  • Nutritional yeast: Adds a delicious cheesy, umami flavor without dairy.
  • Tomato paste: Adds richness, umami, and concentrated tomato flavor.
  • Vegan Worcestershire sauce: Adds tangy, savory depth. Tamari can be substituted for a slightly different flavor.
  • Ground psyllium: Helps bind the meatballs together, keeping them tender while holding their shape.
  • Dried oregano: Brings a classic Italian-inspired flavor. Italian seasoning works too.
  • Olive oil: For sautéing the vegetables and building a flavorful base.
  • Sea salt and black pepper: Enhance all the savory flavors.

How to make vegan Meatballs


Toast the nuts. Toast raw walnuts on a sheet pan for 10-12 minutes in a 325F oven. Set aside to cool.

chopping onion and garlic for vegan meatballs

Saute. In a pan over medium heat, saute’ onion and garlic for about 10 minutes, until soft and lightly caramelized. Let cool a few minutes.

saute the onion and garlic for  meatballs

Blend. In a food processor, add cooled walnuts and basil leaves. Gently pulse, until the texture resembles coarse sand. Remove walnut mix from the processor and set aside.

pulse the toasted walntus and basil in a food processor

In the same food processor, add the cooled caramelized onion/garlic mixture, raw beet chunks, raw carrot chunks, oregano, salt, pepper, tomato paste, Worcestershire, nutritional yeast, and psyllium; pulse until the mixture is just finely chopped, leaving some texture.

pulse the remaining ingredients- chunks of carrots, raw beets, spices.

Combine. Add black beans to the beet mix. Pulse 3-4 times. Then add the walnuts. Pulse a time or two. Just enough to incorporate everything. The mixture will be quite moist.

combining all the ingredients in the food processor.

Refrigerate. Refrigerate for 30 minutes (this will help firm them up but is not necessary in a pinch.) 

a bowl of the vegan meatball mixture showing the texture.

Shape. Scoop into 24 ping-pong-sized balls onto a parchment-lined baking sheet.

vegan balls on a sheet pan, raw.

Bake. Bake for 40-45 minutes at 325F. Remove from the oven and allow to cool on the pan.

Baked Vegan meatballs right out of the oven, after they are baked.

Serving Suggestions

These hearty Vegan Meatballs are delicious served over our Homemade Pasta tossed with Marinara Sauce ( see recipe notes for an easy sauce). Finish with our Vegan Cheesy Sprinkle for a savory, Parmesan-like topping.

For a lighter option, serve the meatballs over zucchini noodles or Spaghetti Squash. Pair with a simple green salad or roasted vegetables for a wholesome, satisfying dinner.

These Vegan Meatballs are hearty, savory, and packed with flavor! Made with beets, black beans, toasted walnuts, and fresh basil, they're tender, satisfying, and naturally gluten-free. Bake them in the oven and serve with spaghetti and a rustic tomato sauce for a wholesome, plant-based twist on classic comfort food.

Chef’s Tips

  • Toast the walnuts. This deepens their flavor and adds richness to the vegan meatballs.
  • Don’t overprocess. Pulse the ingredients in batches, as directed, to maintain a hearty, meaty texture. Avoid blending into a smooth paste.
  • Drain the black beans well. Excess moisture can make the meatballs too soft to hold their shape.
  • Use ground psyllium. This helps bind the mixture together without eggs. Be sure to use ground psyllium rather than whole husks.
  • Let them cool slightly. The meatballs will continue to firm up as they cool on the baking sheet. Handle gently while hot.

Make Ahead and Storage

Make ahead: Prepare the meatball mixture up to 24 hours in advance and refrigerate in an airtight container until ready to shape and bake.

Refrigerate: Store cooked vegan meatballs in an airtight container in the refrigerator for up to 4 days. Keep the tomato sauce separate for the best texture.

Freeze: Freeze cooked, cooled meatballs on a baking sheet until firm, then transfer to a freezer-safe container for up to 3 months.

Reheat: Warm in a 350°F oven until heated through, or gently simmer in tomato sauce. Avoid stirring too vigorously, as the meatballs are delicate.

Watch how to make Vegan Meatballs

More beet recipes you may like

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
vegetarian meatballs

Vegan Meatballs with Black Beans and Beets

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 4.7 from 23 reviews

Description

These hearty Vegan Meatballs are made with black beans, toasted walnuts, beets, and fresh basil for a deliciously savory, meaty texture. Baked, not fried, they’re naturally gluten-free, packed with flavor, and perfect with spaghetti and marinara sauce!


Ingredients

Units Scale

Vegan Meatballs

  • 1 cup walnuts, toasted  
  • 1 cup fresh basil leaves
  • 2 tablespoons olive oil
  • 1 yellow onion, diced
  • 2 large garlic cloves, minced
  • 1 medium beet, scrubbed or peeled, chopped into small 1/2 inch chunks (roughly 1 cup full)
  • 1 medium carrot, chopped in roughly 1/2 inch chunks ( roughly 1/2 cup)
  • 1 teaspoon dried oregano
  • 1 teaspoon sea salt
  • 1/4 teaspoon black pepper
  • 1 tablespoon tomato paste
  • 1 tablespoon vegan Worcestershire
  • 2 tablespoons nutritional yeast
  • 1 teaspoon ground psyllium (see notes)
  • 14–15 oz can of black beans, drained

Instructions

  1. Heat oven to 325 degrees.
  2. Toast the nuts. Toast raw walnuts on a sheet pan for 10 minutes.  Set aside to cool.
  3. Saute. In a pan over medium heat, saute’ onion and garlic for about 10 minutes, until soft and lightly caramelized.  Let cool a few minutes.
  4. Blend. In a food processor, add cooled walnuts and basil leaves.  Gently pulse, until the texture resembles coarse sand.  Remove walnut mix from the processor and set aside.
  5. In the same food processor, add the cooled caramelized onion/garlic mixture, raw beet chunks, raw carrot chunks, oregano, salt, pepper, tomato paste, Worcestershire, nutritional yeast, and psyllium; pulse until the mixture is just finely chopped, leaving some texture.  
  6. Combine. Add black beans to the beet mix.  Pulse 3-4 times.  Then add the walnuts. Pulse a time or two.  Just enough to incorporate everything.  The mixture will be quite moist. Refrigerate. Refrigerate for 30 minutes ( this will help firm them up but is not necessary in a pinch.) 
  7. Shape. Scoop into 24 ping-pong-sized balls onto a parchment-lined baking sheet.
  8. Bake. Bake for 40-45 minutes at 325F. Remove from the oven and allow to cool on the pan.  
  9. Serve with cooked pasta, marinara sauce (see notes), and optional vegan cheesy sprinkle or vegan parmesan cheese.

Notes

Season to taste. The salt for the beet balls will depend on the black beans’ salt content.  Adjust accordingly.

Psyllium husk acts as a binder and has a very mild flavor.  Ground flax seeds can be substituted.  The beet balls can work without this addition, but they’ll be much softer in texture.  

Make ahead. The beet ball mixture can be made ahead of time and stored in the fridge, but are best baked just before serving.

Tomato Sauce: Add 3 tablespoons olive oil to a large saucepan over medium heat.  Throw in 3 cloves minced garlic and 1/8 teaspoon red pepper flakes, stirring until lightly toasted, about 3-5 minutes. Add a 28-ounce can of whole tomatoes and juices, smashing them with a fork to break them up.  Add 1 teaspoon dried oregano and 1/2 teaspoon salt. Keep at a low simmer for 20 minutes, stirring and mashing the tomatoes every 4 minutes or so.  The sauce will thicken as it cooks. Add fresh chopped basil leaves a few minutes before removing from heat.  Tomato Sauce (makes 3 1/2 cups) 

Nutrition

  • Serving Size: 4 meatballs
  • Calories: 206
  • Sugar: 4.2 g
  • Sodium: 523.9 mg
  • Fat: 11.4 g
  • Saturated Fat: 1.3 g
  • Carbohydrates: 21 g
  • Fiber: 7.6 g
  • Protein: 7.5 g
  • Cholesterol: 0 mg

Share this with the world!

Subscribe
to get recipes via email

Leave a rating

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

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

Comments

  1. I haven’t made this yet, but based on all the comments I am ready to dive in. I would like to make a large batch and therefore would like to know if they freeze well. Thanks for any input.

  2. Absolutely loved this recipe! Made it with canned beetroots since that was all I had at home. The beetballs were a bit softer/ creamier from the inside than probably if made with fresh beets, but everyone loved it anyways and the flavours were great.

    1. Great to hear James- glad everyone enjoyed and you were able to make it work with the canned beets!

  3. I made this meal and my meat loving dinner partner went back three times for more beetballs and pasta.

  4. Why did my beet balls come out mushy? I followed your recipe and used extra flaxseed. Did I blend the ingredients to much?

    1. Oh shoot, sorry about this Beverly! It could be the extra flax seeds affected the texture as flax does create mucilage. Maybe over blending too? Making them a little flatter could yield a less mushy texture.

  5. Incredible beetballs and tomato sauce. Subbed in zucchini noodles and spaghetti squash and it was one of the more delicious meals we’ve had in a while!

  6. Best “meatball” recipe I’ve ever made. I usually make them as burgers though and I substitute the Worcestershire sauce with soya sauce and balsamic vinegar. Absolutely delicious. Parsley instead of basil works fine as well! 🙂

  7. I don’t have any tomatoes.(I do have tomato sauce) Anything else I can use instead? Also out of beet.Any suggestions,or I have to make something else today?

    1. Hi Ema, Maybe give this a try when you have all the ingredients. The tomato paste and beets are pretty key for this recipes consistency & flavor.🙂

  8. Temperature for oven 335? Is this a mistake? I can only heat my oven at 325 or 350. Suggestions?

    1. I would try starting out baking at 350 for 20 minutes and then turn the oven down to 325 for 20 minutes.

    1. I have not tried it with canned beets. My guess is it would be fine. It will be more moist so perhaps double the psyllium powder or add ground flax meal. I don’t bother with peeling fresh beets- just scrub well.

  9. Delicious – used flaxseeds in beet balls and sunflower seeds in sprinkles – both substitutions worked well.
    The tomato sauce is simple yet very effective. Sprinkles are great. Very tasty.

  10. Beetballs came out perfect. I did not have psyllium. I also substituted oregano for basil (as I did not have fresh basil). Vegan daughter in food industry said it was better than her existing recipe and would be soon replacing it 🙂

  11. I loved the flavor of the beet balls but mine came out very mushy on the inside. I used ground flaxseed as the binder. I am wondering if adding an egg would help hold it all together?

    1. I found if I made sure to not over blend in the food processor, the meatballs firmed up more, also could try baking longer and make the balls smaller. But if not going for vegan try adding an egg! I think that would work well.

  12. This was absolutely delicious. There was a lovely nutty taste and texture to the beetballs. I will definitely make this again.

  13. I want to make this recipe for my family, but my son has a tree nut allergy. Is there a replacement you recommend?

    1. You could try hemp seeds or sunflower seeds- maybe a combination of both?

  14. Wow, this hit the spot for my craving of spaghetti and meatballs! Made the beet ball recipe as is except used flaxseed and didn’t have nutritional yeast so used a mix of Parmesan and breadcrumbs. Came out fantastic and already plotting to make a big batch and freeze! Thanks so much!

  15. i want to try this but my husband is allergic to walnuts. do you think cashews could be subbed? or another nut? thanks!!

    1. Roasted cashews sound good! I would use unsalted if possible. I think pecans would be yummy too.

  16. This was so delicious! We made the beetballs a day in advance and thought this was a really warming and filling dish. Will definitely make again.

  17. I love this!!! Thank you, Tonia!! At first, I skipped over the recipe at because I thought vegan meatballs would probably involve some filler ingredients…but I took a look out of curiosity and was sold when I saw what was in them! I have been eating a lot of tofu lately, so I was looking for a change and was grateful that this recipe didn’t call for any 🙂 I couldn’t find vegan Worcestershire sauce at the grocery store, so I used tamari sauce with a bit of sugar and fish sauce instead. Turned out delicious!!!! I also love the sauce!!!

  18. Haven’t made this yet but looks amzing – any thoughts about using them in ways asides from tomato sauce? A local restaurant makes beet patties with sweet chilli sauce and veggies/barley, wondering if something like that could work? Or other ideas! I love tomato sauce but this seems so versatile…

    1. Definitely Lucy! These beetballs are super savory and would be good so many ways. Your suggestion sounds delicious!

    2. I am going to tweak this to make stuffed cabbage by altering the seasonings. Also will try Swedish style meatballs with golden beets.
      Recipe sounds great.

  19. I’m not commenting on the recipe yet, because I haven’t made it. But, I will! I adopted a plant-based diet 5 months ago. I rarely ate meat before starting the new adventure, but I do miss the cheese! I also need to be GF. I am finding it difficult to come up with some flavor enhancers and my heart sinks every time I read “creamy” or “tangy crumbles” etc because I know it involves nutritional yeast which gives me diarrhea. I also cannot eat soy due to thyroid disease, so no tofu. Cashews upset my stomach. Any suggestions for substitutes?

    1. For the meatballs you could try substituting a teaspoon of chickpea miso for the nutritional yeast (you may need to adjust the salt). Shiitake power is another one of my go-to’s for giving depth and umami to vegan recipes. I have not tried either of these in the beet balls but I bet they would be great!
      For the sprinkle you could double the hempseeds and add a little of either of those (or both?). I would start with 1/2 teaspoon and taste, adding more to your preference.
      Let us know how it goes!

  20. These look great. Do you think almonds would work instead of walnuts? Allergic to walnuts unfortunately

Our Latest Recipes