This post may contain affiliate links. Please read our disclosure policy.

These Easy Vegan Meatballs have been in my regular rotation for years and honestly, they never get old. Made with mushrooms, rice, and a handful of pantry staples – they’re hearty, satisfying, and come together in about 30 minutes.

Love a good vegetarian recipe? You need to try our One Pot Brothy Beans, our Vegetarian Baked Ziti as well as our Vegetarian Chow Mein!

vegetarian meatballs in a skillet with tomato sauce and sprinkled with vegan cheese and parsley

Seriously the BEST Vegan Meatballs

Oh HELLO meatless meatballs of my dreams! This is a recipe that I’ve been meaning to work on for YEARS and I’m so excited how delicious this one turned out! I wanted these to have a meaty texture while also being substantial and, of course, TASTE AMAZING (like, something even meat eaters would enjoy). These could be eaten with spaghetti or even on their own!

I also love this recipe as a make ahead vegan meal. The meatballs could be made and frozen before cooking them. When ready to eat, simply leave them in the fridge overnight and then pan fry them (or bake) according to the recipe! I highly recommend making a double batch!

Reasons to love these vegetarian meatballs:

  • Ready in 30 minutes – a legit weeknight dinner
  • Pan fry OR bake – totally up to you
  • Simple ingredients – nothing fancy or hard to find
  • Great for meal prep – make ahead and freeze before or after cooking
  • Naturally vegan – no eggs, no dairy, no fuss
ingredients needed to make vegan meatballs including onion, flour, breadcrumbs, rice, mushrooms etc

Ingredients needed

The ingredients for this vegan meatball recipe are listed fully down in the recipe card but let’s briefly go over the pantry staples needed including a few substitutions you can make as desired!

  • Olive oil – for sautéing the veggies; any neutral oil works too
  • White onion – builds the savory base; yellow onion or even shallot is a fine swap
  • Cremini mushrooms – these are the MVP for meaty texture and umami flavor; baby bellas work great too
  • Garlic – fresh is best here; don’t skimp!
  • Cooked rice – acts as a binder and gives the meatballs their substance; brown rice is BY FAR my favorite for texture, but basmati or even quinoa will work
  • All-purpose flour – helps hold everything together; use a 1:1 gluten-free flour blend if needed
  • Breadcrumbs – regular or panko both work; for GF, just swap in gluten-free breadcrumbs
  • Italian seasoning – the key flavor builder; try adding a pinch of fennel seeds if you’re feeling it – SO good. Bonus points for adding in some fennel seeds for a delicious flavor boost!
  • Oil for frying – only needed if pan frying; about 1.5-2 tablespoons
  • Optional for serving – fresh basil, a good marinara sauce, and vegan parmesan cheese
up close shot of vegetarian meatballs in a skillet with tomato sauce and sprinkled with vegan cheese and parsley. one with a bite taken out

How to Make It

Just a reminder that you can find the detailed instructions for these Italian vegan meatballs recipe down in the recipe card, but I want to quickly go over how to make them with visuals for you :)

cooked mushrooms and onion in a large cast iron skillet
  1. In a large skillet over medium heat, cook the mushrooms and onion in a little oil for about 5 minutes. Add in the garlic and cook for 2 additional minutes.
    Add the mixture to the base of a food processor.
breadcrumbs, flour, cooked veggies, and rice in a food processor before its been blended
  1. To the food processor, add in the remaining ingredients including a little salt and black pepper. Pulse until everything is combined and comes together. Be sure not to over process the mixture.
vegan meatballs on a large plate before they've been cooked
  1. Form the mixture into large balls and place on a large plate. I like to use a cookie scoop to get the balls a uniform size.
vegan meatballs being cooked in a skillet
  1. Cook the meatballs in a single layer in a frying pan until golden brown OR bake them according to the directions down below. Serve with your favorite pasta and a good sauce :)
    Store leftovers in a sealed container.

Recipe Tips

  • Use fresh-cooked rice if you can. Day-old rice tends to be dry, which makes the meatballs harder to hold together. Fresh rice is stickier and works much better as a binder.
  • Don’t over-process. Pulse the food processor just until everything comes together – you want a little texture, not a smooth paste.
  • Pan frying > baking for texture. Both methods work, but pan frying gives you a crispier, more satisfying crust. If you’re baking, flip them halfway through so they brown evenly.
  • Wet hands help. When rolling the mixture into balls, slightly damp hands prevent sticking and make shaping much easier.
  • Make them gluten-free. Swap the all-purpose flour and breadcrumbs for their GF equivalents – the rest of the recipe stays exactly the same.
large plate filled with spaghetti that's topped with marinara sauce and 4 vegan meatballs and a sprinkle of parsley and vegan parmesan

Frequently Asked Questions

Do vegan meatballs hold together?

Yes, when made with the right binders! This recipe uses a combination of rice (which is naturally sticky), flour, and breadcrumbs to hold everything together. Using fresh-cooked rice and not over-processing the mixture makes a big difference.

Can you freeze vegan meatballs?

Absolutely – they freeze really well. You can freeze them before or after cooking, both work great. See the storage section above for details.

Can I bake these instead of frying?

Yes! Bake at 400°F for 10 minutes, flip, then bake another 8-10 minutes. They won’t be quite as crispy as pan-fried, but still totally delicious.

vegetarian meatballs in a skillet with tomato sauce and sprinkled with vegan cheese and parsley. vegan meatballs recipe

Make-ahead recipe

These healthy vegan meatballs are perfect to meal prep ahead of time! Once you’ve made the meatball mixture, form the veggie meatballs and place them on a baking sheet lined with aluminum foil or parchment paper. Cover them with plastic wrap and store them in the refrigerator until you’re ready to enjoy them. You can make them 2 days in advance of when you plan to cook them.

Storing & freezing plant-based meatballs

Leftovers. Store leftover vegan meatballs in an airtight container in the fridge for 4-5 days. You can even store them in the sauce. Reheat meatballs and sauce over medium heat on the stovetop. Or you can warm them individually, or with the sauce, in the microwave in 30 second intervals.

Freezing. You can freeze these meatballs before or after baking. To freeze baked meatballs, place meatballs and sauce, for up to 3 months, in a freezer-safe container or bag. When you’re ready to serve, thaw in the refrigerator overnight, and then reheat them in a pan on the stovetop or in the microwave.

To freeze before baking, make and form meatballs as instructed. Place each one on a baking sheet, and put them in the freezer for about 1 hour. This will keep them from sticking together when you place them altogether. Once frozen, transfer the meatballs to a freezer-safe container or bag and freeze for up to 3 months. When you’re ready to enjoy, thaw them overnight in the refrigerator and then cook them as instructed.

More recipes you’ll love

4.73 from 22 votes

Easy Vegan Meatballs

Prep: 15 minutes
Cook: 15 minutes
Total: 30 minutes
Servings: 20 meatballs
These easy vegan meatballs are made with cremini mushrooms, cooked rice, and simple pantry staples – no eggs, no dairy, and no complicated techniques. Pan fry them for a crispy crust or bake them in the oven, either way they're hearty, flavorful, and ready in about 30 minutes. Perfect over spaghetti, stuffed into subs, or honestly just eaten straight from the skillet.

Video

Save this recipe!
Get this sent to your inbox, plus enjoy weekly doses of recipe inspiration!

Ingredients 

  • 2 tablespoons olive oil
  • 1 small white onion, chopped
  • 8 ounces cremini mushrooms, sliced or roughly chopped (we’ll be blending them later so size doesn’t matter)
  • 3 cloves garlic, roughly chopped
  • 1 ½ cups cooked rice, I used basmati rice but brown rice or even another grain such as quinoa would work well*
  • ¼ cup all-purpose flour
  • ½ cup bread crumbs
  • 1 teaspoon Italian seasoning
  • 1 teaspoon sea salt
  • ½ teaspoon black pepper
  • Oil for frying

Instructions 

  • Heat the olive oil in a large skillet over medium heat and saute the onion and mushrooms until soft, about 5 minutes. Add in the garlic and saute for an additional 2 minutes.
    2 tablespoons olive oil, 1 small white onion, 8 ounces cremini mushrooms, 3 cloves garlic
  • Add the onion mixture to a food processor along with the rice, flour, bread crumbs, italian seasoning, salt and pepper. Pulse until everything is combined and comes together.
    1 1/2 cups cooked rice, 1/4 cup all-purpose flour, 1/2 cup bread crumbs, 1 teaspoon Italian seasoning, 1 teaspoon sea salt, 1/2 teaspoon black pepper
  • Form the mixture into golf ball sized meatballs and set aside.

To Pan Fry the meatballs

  • In the same skillet pour in enough oil to fully cover the bottom of the skillet (I end up using about 1 1/2- 2 tablespoons of oil). Set over medium heat. Once hot, add in the meatballs so that they're not overcrowded. Cook until browned on all sides, about 4 minutes per side. Add more oil as needed so that skillet has a thin layer covering it.
    Oil for frying

To Bake the Meatballs

  • Place the uncooked meatballs on a large baking sheet lined with parchment paper. Bake at 400 degrees F. for 10 minutes, flip, and bake an additional 8-10 minutes.
  • Serve with spaghetti or however you enjoy your meatballs :D

Notes

  • Fresh-cooked rice works much better than day-old – it’s stickier and helps the meatballs hold together.
  • Fennel seeds are an optional add-in that take the flavor to another level – highly recommend trying it!
  • Gluten-free: swap the flour and breadcrumbs for GF versions.
  • To freeze before cooking: form meatballs, freeze on a baking sheet for 1 hour, then transfer to a freezer bag. Freeze up to 3 months. Thaw overnight before cooking.
  • To freeze after cooking: store in a freezer-safe container with sauce for up to 3 months.
STORAGE + REHEATING – Store leftover vegan meatballs in an airtight container in the fridge for up to 4-5 days. To freeze after cooking, place them in a freezer-safe container with sauce for up to 3 months – thaw overnight in the fridge and reheat on the stovetop or microwave. To freeze before cooking, arrange formed meatballs on a baking sheet and freeze for 1 hour first, then transfer to a bag so they don’t stick together. Cook straight from frozen (with a little extra time) or thaw overnight first.

Nutrition

Calories: 49kcal, Carbohydrates: 8g, Protein: 1g, Fat: 2g, Saturated Fat: 0.2g, Polyunsaturated Fat: 0.2g, Monounsaturated Fat: 1g, Sodium: 195mg, Potassium: 70mg, Fiber: 0.4g, Sugar: 1g, Vitamin A: 2IU, Vitamin C: 0.4mg, Calcium: 12mg, Iron: 0.3mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Tried this recipe?Mention @foodwithfeeling or tag #foodwithfeeling!

About Brita Britnell

Brita is the author of Food with Feeling which is a vegetarian based food blog. She creates easy and delicious recipes that encourage people to try more meat-free recipes!

You May Also Like

4.73 from 22 votes

Leave a comment

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

Recipe Rating




43 Comments

  1. Reiko says:

    5 stars
    I’m so happy to find your site. My meatballs turned out great! I’ve tried various recipes, but this one is the best! Many plant-based meatballs are too mushy, but the texture of these was amazing. Thank you for sharing.

  2. Joanne G says:

    Mine came out mushy. Are you supposed to drain the water off the cooked vegetables?
    Thanks
    Joanne

  3. Claire says:

    5 stars
    Hi! I was wondering if you could use gluten free flour instead of regular flour or what would be another good gluten free flour I could use to replace it ?

    1. Brita says:

      yes! A gluten free flour blend would work just fine- I haven’t tried it but I also think that oat flour would work well

  4. Carmen Flores says:

    Hi Brita, These meatballs look delicious. Which vegan bread crumbs do you recommend?

  5. Haniyfa Scott says:

    5 stars
    These meatballs are so delicious and versatile!!! The rice made them taste so
    chewy***.My adult son loved them, my meat eater friend enjoyed them. I will
    definitely will be making them one of my signature dishes. Thank you!!!!

  6. Theresa Clark says:

    The flavor was delicious! First time making these, my mistake was not pulsing them enough. They were a bit crumbly, should have pulse them more to look like your pic, smooth is good, mine were crumbly. If they stick in your skillet when frying them, try a bit of PAM first then your oil. The culprit is probably your pan. Treat yourself to a really good nonstick

  7. Elise says:

    5 stars
    These are amazing! I don’t have a food processor, so used a magic bullet, which required that I add a little bit of liquid to get it to blend/stick together, but it still turned out really well! 
    I don’t even want to “ruin” them with pasta sauce, I’m eating them straight! 
    Thank you for this recipe! 

  8. Michele says:

    This vegan recipe is great, I can’t wait to make it. I was wondering would cauliflower rice work in the recipe instead of the rice??

    1. Brita says:

      I’m not sure how well that will work since it’s not very sticky. The starchy stickiness of the rice really helps hold the balls together and I’m afraid they’ll fall apart too easily with cauliflower rice

  9. Greg says:

    5 stars
    Really tasty! Have made them a couple of times now.
    Have you got a recipe for a pasta sauce that goes well with them?
    Cheers!

  10. Angela says:

    These are very tasty,if a bit messy to make.
    Can I freeze these?