ListseVegetarian recipes for the home stove

Dinner

Unfussy Vegan Meatballs (Pan Fried or Baked!) on the Stove

These Straightforward Vegan Meatballs have been in my regular rotation for years and honestly, they never get old. Made with

  • Serves 20 meatballs
  • Prep 15 minutes
  • Cook 15 minutes
  • Total 30 minutes
Jump to the recipe
Unfussy Vegan Meatballs (Pan Fried or Baked!) on the Stove

These Unfussy 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 GO-TO 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 satisfying this one turned out! I wanted these to have a meaty texture while also being substantial and, of course, TASTE STANDOUT (like, something even meat eaters would enjoy). These could be eaten with spaghetti or even on their own!

I also love this method 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 after-work dinner
  • Pan fry OR bake – entirely 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 go-to here; don’t skimp!
  • Cooked rice – acts as a binder and gives the meatballs their substance; brown rice is BY FAR my regular 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, simply swap in gluten-free breadcrumbs
  • Italian seasoning – the key flavor builder; try adding a pinch of fennel seeds if you’re feeling it – Deeply good. Bonus points for adding in some fennel seeds for a flavor-packed 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

Simply 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 go-to 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 simply 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

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

Unfussy Marinara Sauce (Ready in 20 Minutes)

Vegan Lasagna

Vegan Parmesan Cheese

Vegan Mac and Cheese

The recipe

Straightforward Vegan Meatballs for the Table

These unfussy 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, well-seasoned, and ready in about 30 minutes. Dependable over spaghetti, stuffed into subs, or honestly simply eaten straight from the skillet.

  • Serves 20 meatballs
  • Prep 15 minutes
  • Cook 15 minutes
  • Total 30 minutes

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

Method

  1. 1

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

    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.

  3. 3

    Form the mixture into golf ball sized meatballs and set aside.

To Pan Fry the meatballs

  1. 4

    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.

To Bake the Meatballs

  1. 5

    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.

  2. 6

    Serve with spaghetti or however you enjoy your meatballs:D

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

Per serving

  • Calories49 kcal
  • Carbohydrates8 g
  • Protein1 g
  • Fat2 g
  • Saturated Fat0.2 g
  • Polyunsaturated Fat0.2 g
  • Monounsaturated Fat1 g
  • Sodium195 mg
  • Potassium70 mg
  • Fiber0.4 g
  • Sugar1 g
  • Vitamin A2 IU
  • Vitamin C0.4 mg
  • Calcium12 mg
  • Iron0.3 mg