These vegan mushroom meatballs are made with simple, whole food ingredients and are flavorful as can be! You can even freeze them for later.
- Diet-friendly: vegan, vegetarian, nut-free and soy-free optional (just use coconut aminos in place of soy sauce)
- Quick & easy: ready in under an hour in the oven and 30 minutes if pan-frying
- Can be pan-fried or baked in the oven
- Made with classic meatball ingredients- just minus the meat!
- Easy to freeze or make a double batch
What you'll need
Mushrooms and onions are sautéed in olive oil and make up the flavorful base. I use baby bella mushrooms but white or cremini also work.
Italian seasoning. Choose a premade seasoning from the store or make your own. Italian seasoning usually contains basil, oregano, rosemary and thyme.
Breadcrumbs. Choose traditional breadcrumbs, or try Italian breadcrumbs for an extra herb-packed meatball.
Chickpeas make up the base of the meatballs. Use one can or about 1 and ½ cups cooked chickpeas.
Worcestershire sauce. This classic meatball ingredient is traditionally made with anchovies, but store-brand versions are often vegan. Check the ingredient label to ensure the Worcestershire sauce is anchovy-free.
Flax egg. Made with flaxseed and liquid, this "egg" helps hold the meatballs together and prevents any crumbling. You can use a regular egg if you prefer.
Step by step instructions
Before you begin: Make a flax egg by combining 1 tablespoon ground flaxseed with 3 tablespoons warm water. If baking the meatballs, preheat the oven to 350F.
Step 1. Sauté mushrooms and onions in a large skillet over medium-high heat until softened.
Step 2. Add all ingredients to a food processor.
Step 3. Pulse the ingredients until mostly broken down. You want some small pieces of chickpea or mushroom remaining.
Step 4. Form into 16 balls, about one heaping tablespoon each. I find that it's easiest to smash the mixture into a patty and then roll it into a ball. This prevents it from getting crumbly while baking.
Quick tip: The mixture only needs to be pulsed a few times to break it down. It will be crumbly but should stick together when rolled into a ball. Pulsing it too much can cause the meatballs to have a pasty texture.
Step 5. Place on a parchment paper-lined baking sheet. Bake for 15-18 minutes at 350 degrees F.
Step 6. The meatballs are ready when lightly browned and cooked on the inside.
Step 5. Heat a large skillet over medium-high heat. Add a liberal amount of olive oil to the pan, enough to coat the entire bottom. Add the meatballs.
Cook each side for about 1 minute. Don't stir until each side is cooked through or it may stick to the pan.
Step 6. Add sauce and simmer until sauce is warmed through.
The meatballs are ready when crispy and golden on the outside. The inside should also be hot and beginning to dry out.
Recipe FAQ and expert tips
- Mushrooms and onions: Make sure to salt the mushrooms so that they release their liquid. Drain off any extra liquid before adding the soy sauce and Italian seasoning.
- Mixture too wet? Add an extra tablespoon of breadcrumbs at a time until they hold together. The mixture should be crumbly but able to hold together.
- Texture: For a crispy meatball, spray lightly with cooking spray before baking. Smaller meatballs cook through better. I recommend making meatballs a heaping tablespoon, about the size of a ping pong ball.
- Serving ideas: Classic spaghetti and meatballs is a perfect way to serve these. Choose your favorite spaghetti and marinara sauce. Simmer the meatballs in marinara sauce for extra flavor. I also love making meatball subs.
Yes! Just use your favorite gluten-free breadcrumbs and replace soy sauce with tamari or coconut aminos.
Mushroom meatballs freeze well. I recommend cooking them (either baking or pan-frying) before freezing. Place in a freezer safe container with wax paper between layers. Freeze for up to 3 months. Let thaw overnight in the fridge or reheat in the microwave before cooking.
Definitely! To shallow fry, add about a half inch of canola oil to a hot skillet over medium-high heat. Once hot, add the meatballs and cook, stirring occasionally, until crisp and golden. I haven't tried deep frying these.
Your mixture may be too dry. If the ingredients won't hold together when you roll them into a ball you can add 1 tablespoon vegetable broth or water as needed.
Keep refrigerated in a closed container for 3-4 days. Reheat in a lightly oiled skillet over medium-high heat or in the microwave until warmed through.
Looking for more vegan dinner recipes?
Did you make this recipe? You can leave a star rating ⭐️⭐️⭐️⭐️⭐️ in the recipe card or a review down in the comment section. I always appreciate your feedback! You can also follow along on my YouTube, Instagram, Facebook, and Pinterest or sign up for my newsletter!
Vegan Mushroom Meatballs
- 1 tablespoon ground flaxseed
- 3 tablespoons water
- 4 ounces baby bella mushrooms rougly chopped
- ½ cup diced yellow onion from ½ medium onion
- 1 tablespoon olive oil divided
- ¼ teaspoon salt
- 1 tablespoon soy sauce
- 1 tablespoon Italian seasoning
- 1 can (15 ounces) chickpeas drained
- 1 cup plain breadcrumbs
- 1 tablespoon nutritional yeast
- 1 teaspoon Worcestershire sauce see note #1
- cooking spray (optional)
- Preheat the oven to 350 degrees F. Line a sheet pan with parchment paper.
- To make a flax egg, mix together 1 tablespoon ground flaxseed and 3 tablespoons water in a small bowl. Let rest for 5 minutes.
- Roughly chop the mushrooms and dice the onion. In a medium pan, heat 1 tablespoon olive oil over medium-high heat. Once hot, add the mushrooms and onion and sprinkle with ¼ teaspoon salt. Sauté for 5 minutes, or until mushrooms are softened. Drain excess liquid. Add the soy sauce and Italian seasoning and cook for a minute more.
- Combine chickpeas, flax egg, breadcrumbs, nutritional yeast, Worcestershire sauce, and sautéed onion and mushrooms in a food processor with a standard blade attachment. Pulse until mostly broken down. Some small bits of chickpea or mushroom should still exist.
- Use clean hands to roll the meatball mixture into 12 roughly ping pong sized balls. I find it's best if you flatten each ball into a patty and then roll it up. Line up the meatballs on the sheet pan. Spray lightly with cooking spray for an extra crispy/browned result (optional).
- Bake for 30 minutes in a 350-degree oven, flipping meatballs over halfway through. They are done when lightly browned on the outside and no longer mushy on the inside.
- Worcestershire sauce: Check the ingredients label to make sure your Worcestershire sauce is vegan/vegetarian. Most store-brand versions are made without anchovies, making them vegan.
- How to freeze: I recommend cooking them (either baking or pan-frying) before freezing. Place in a freezer safe container with wax paper between layers. Freeze for up to 3 months. Let thaw overnight in the fridge or reheat in the microwave before cooking.
- To make gluten-free: Choose gluten free breadcrumbs in place of traditional breadcrumbs. Gluten-free tamari can be used in place of soy sauce.
- To pan-fry: Heat a large skillet over medium-high heat. Add a liberal amount of olive oil to the pan, enough to coat the entire bottom. Add the meatballs. Cook each side for about 1 minute. Optional: Add sauce and simmer until sauce is warmed through.
- To shallow fry: Add about a half inch of canola oil to a hot skillet over medium-high heat. Once hot, add the meatballs and cook, stirring occasionally, until crisp and golden. I haven't tried deep frying these.
- Storage and reheating: Keep refrigerated in a closed container for 3-4 days. Reheat in a lightly oiled skillet over medium-high heat or in the microwave until warmed through.