Easy Vegan Meatballs (Pan Fried or Baked!)

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!

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

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

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 🙂

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.

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.

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.

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.

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.

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

Easy Marinara Sauce (Ready in 20 Minutes)

Vegan Lasagna

Vegan Parmesan Cheese

Vegan Mac and Cheese

Print

Easy Vegan 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.
Course dinner
Cuisine American
Diet Vegan, Vegetarian
Prep Time 15 minutes minutes
Cook Time 15 minutes minutes
Total Time 30 minutes minutes
Servings 20 meatballs
Calories 49kcal

Ingredients

2 tablespoons olive oil1 small white onion chopped8 ounces cremini mushrooms sliced or roughly chopped (we’ll be blending them later so size doesn’t matter)3 cloves garlic roughly chopped1 ½ 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 crumbs1 teaspoon Italian seasoning1 teaspoon sea salt½ teaspoon black pepperOil 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 😀

Video

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

The post Easy Vegan Meatballs (Pan Fried or Baked!) appeared first on Food with Feeling.