Ready to whip up your new fave vegan meatballs recipe? Forget using store-bought balls – these are a whole new world of yum and so darned easy to make!
Ever felt like making vegan meatballs was like climbing culinary Mt. Everest? Not anymore! I've cracked the code to the perfect texture and flavor – without a ton of fuss or hard-to-find ingredients. Imagine biting into these beauties, bursting with herbs and spices, and thinking, 'Did I just make these?' Oh yes, you did. And you'll be doing it again and again because they're bangin’ as heck and crazy simple to make. Cue up the vegan garlic bread, meatless bolognese, and escarole and bean soup.
Your kitchen is about to turn into the hottest vegan meatball spot in town!
Jump to:
🥰 Why you'll adore this recipe
✊ Vegan AF and GF: Like all of my vegan Italian recipes, these meatless meatballs are a 100% plant-powered party, and they also happen to be one of my family’s fave gluten-free recipes too!
🍄 Supreme Fungus Flex: The secret's in the mushrooms – they bring a rich, earthy umami flavor that mimics the depth and texture you'd expect from meat. These ain't vegan meatballs made out of Beyond Meat or artificial airplane dust or whatever.
🔥 Roasting for Richness: Ro, ro, roast your mushrooms and walnuts gently down the stream? WORD UP. It deepens the flavors and gives a fantastic toasty edge, making these meatballs a reliable winner every time.
✅ Tested and Approved Worldwide: This easy vegan meatballs recipe isn't some nonsense you’ve gotta hope and pray works. Like all of my vegan recipes, it’s been shared and double-checked by a team of hundreds of recipe testers I work with from all around the planet.
🍝 Notable ingredients and substitutions
Mushrooms
Crimini, portobello, and the dried porcinis which are optional in this recipe are famous for their deep, savory flavor and meaty texture. If you can't find crimini, feel free to use button mushrooms for a milder taste, and slightly paler color.
Walnuts
Walnuts add a wonderful crunch and nutty depth. They're loaded with omega-3 fatty acids, great for heart health. Almonds or pecans can be a good substitute if walnuts aren't your thing.
Tomato Paste
Tomato paste adds a concentrated burst of umami and a slight sweetened and tanginess. If you have some on hand, you can substitute it with Turkish pepper paste which is one of the star ingredients I use for making Kisir, Mercimek Kofte, and Turkish stuffed cabbage.
Red Pepper Flakes
That’s a spicy meatball! Not really. I have these crushed red pepper flakes marked as optional if you want these milder, but I think the amount I call for doesn’t make the silly-spicy or anything. You can also use Aleppo pepper flakes (which are great in Turkish Ezme) or even gochugaru, the Korean chili flakes you might otherwise use to make vegan kimchi and Korean tofu soup.
Fennel Seeds
Toasting fennel seeds enhances their sweet, licorice-like flavor, which gives these veggie balls a flavor that will subtly remind you of sausage (you might have noticed I also use them in my vegan Italian sausage and meatless breakfast sausage recipes). It might surprise you that these are a classic Italian seasoning, but the trick is using them in moderation so that the flavor is subtle. If you're not a fan of fennel, you can totally leave ‘em out.
Black Beans
I use canned black beans for this recipe, but you can absolutely use 1 ¼ cup of cooked dried beans instead if that’s your thing. You also swap them out for other cooked legumes of your choice. White beans (Like I use in making Moroccan loubia), cooked barlotti beans, pinto beans or cooked brown lentils (like you would use to make Moroccan harira soup), are all suitable alternatives.
*See the recipe card at the bottom of the page for exact quantities, nutritional info, and detailed cooking directions.
🤯Variations
Italian-Style Variation: For a classic Italian twist, you can add sun-dried tomatoes, ground vegan pepperoni, and a mix of fresh Italian herbs like basil and rosemary to the meatball mixture. But don’t lie to yourself too much. Spaghetti and meatballs are really more of an Italian American comfort food than something you will find being eaten pretty much anywhere in Italy itself. So don’t freak out about trying to replicate some mythical traditional style here.
Vegan Swedish Meatballs: Transform these into Swedish-style meatballs by adding a hint of allspice and nutmeg to the mix. Serve them with a vegan gravy made from vegetable broth, homemade dairy-free sour cream or vegan cream cheese, garlic powder, and a touch of Dijon mustard.
📖 How to make this gluten-free vegan meatball recipe
Make the best vegan meatballs ever on your first shot by following these step-by-step instructions with helpful tips. Or you can follow along with the easy-to-print recipe card towards the bottom of this page.
Step One
Roasty Toasty:
Heat your oven to 400°F (205°C). Get a baking sheet, line it with parchment, and give it a light brush of olive oil.
In a bowl, mix the mushrooms and walnuts with some olive oil. Spread them on the baking sheet and roast for 18 minutes until the mushrooms are tender and a bit shriveled.
Step Two
Base Prep:
As the mushrooms roast, toss rolled oats, dried porcini mushrooms (if you are including them), onion, garlic, salt, pepper, coriander, red pepper flakes (optional), oregano, thyme, and toasted fennel seed into a food processor. Pulse a few times to get a coarse mixture.
Step Three
Sir Mix A Lot:
Add the roasted mushrooms, black beans, and tomato paste to the food processor. Pulse until pureed but still just very slightly chunky.
Step Four
Rolling Time:
Time to get your hands in there! Shape the mixture into small balls. Keep your hands damp with water to prevent sticking.
Step Five
Skillet Sizzle:
Heat a skillet over medium-high heat with 4 teaspoons of olive oil. After two minutes, when the oil is hot, cook the meatballs for 5-6 minutes, rotating them every minute or so, until they're lightly browned on all sides.
Step Six
Oven Finish:
Post-browning, transfer the skillet to the oven. Make sure you have an oven-safe skillet, otherwise transfer them to a parchment paper-lined baking sheet drizzled with a little oil. Bake for 18-20 minutes until the meatballs are slightly crisp outside.
Step Seven
A gentle loving hug:
Remove from the oven and allow the meatballs to cool to room temperature. This will help them firm up. Once they are comfortable to handle, give each one a gentle squeeze to help condense the balls and ensure they are well bound.
Pour vegan marinara sauce onto these delicious meatballs, and garnish them optionally with chopped fresh parsley and basil.
Step Eight
Serve your meatballs!
Serve your meatballs with vegan alfredo sauce, or vegan Bolognese sauce with a dollop of vegan ricotta over spaghetti. Turn them into the best meatball subs your family has ever had. Or simply dust them with a sprinkle of freshly grated vegan parmesan cheese and chopped fresh parsley and basil.
👉Top tips
- Mushroom Moisture Check: If your mushrooms release a lot of liquid while roasting, briefly drain them before adding to the food processor. Too much moisture can make the meatballs too soft.
- Texture Tactics: When pulsing the ingredients in the food processor, aim for a coarse, not overly smooth texture. This gives your meatballs that satisfying, meaty bite. Overprocessing can lead to a mushy and un-meaty texture.
- Don’t have an oven-safe skillet? I like to cook these in either a ceramic or cast iron skillet. If your skillet has a wooden or plastic handle, you should transfer the seared meatballs onto a parchment paper-lined baking pan before roasting.
- Rest and Firm Up: After roasting these vegetarian meatballs, let them cool until you can comfortably handle them. The cool air will help them solidify. Then give them a gentle squeeze in your hands to compress them before you add marinara. This method makes this vegan meatballs recipe less likely to fall apart without the having needed all-purpose flour or breadcrumbs which would both make them no longer gluten-free, and would have also diluted the lovely flavor of the meatballs.
- If you multiply this recipe: You are gonna love these meatless balls so much that you will want to make a double batch next time! Make sure your skillet is large enough to fit a larger batch in a single layer. If not, pan-fry them in batches, or use multiple skillets so that the balls don't have to stack on them.
- Don't forget dessert! Vanilla pastry cream stuffed vegan bomboloni? Maybe you need a little vegan tiramisu in your life? Made with espresso-soaked vegan ladyfingers and dairy free mascarpone, how could you go wrong? Ok, don't freak out, something lighter and gluten-free like coconut panna cotta with rosewater blackberry sauce could be pretty bomb too.
🤷♀️ Recipe FAQs
Do plant-based meatballs have comparable protein to traditional meatballs?
Absolutely! With ingredients like black beans and walnuts, these healthy vegan meatballs are a great source of plant-based protein and don’t have the cholesterol of meat-based balls.
Roasting mushrooms and walnuts enhances their flavors and textures, but if you're short on time, you can skip this step. However, roasting does add an extra depth of flavor and also helps remove some of the moisture from the mushrooms which otherwise cause these gluten-free balls to be more prone to falling apart.
So if you don’t roast the mushrooms, you may need to add a little more oats, or gluten-free breadcrumbs to help bind these better.
🥶 Refrigerating
Place the vegan meatballs in an airtight glass or metal container and refrigerate. They will stay fresh for up to four days.
❄️Freezing
To freeze, spread the meatballs on a baking sheet lined with parchment paper. Once they're frozen, transfer them to an airtight container. They'll keep well for up to three months.
🌡️ Thawing
Thaw the frozen meatballs in the refrigerator overnight. If you're in a hurry, you can also thaw them at room temperature for a few hours.
🔥 Stovetop Reheating
For the best texture, this vegan meatball recipe is ideal to reheat on the stovetop. Place marinara in a saucepan and warm it over medium heat. After 5-6 minutes when the sauce is hot, add the meatballs, and heat them in the warm sauce for about 4 minutes, without stirring.
🌊 Microwave Reheating
If you're using a microwave, place the meatballs in a microwave-safe dish along with marinara to cover. Cover with a microwave-safe lid or another dish to keep them moist. Heat on high for one to two minutes, checking halfway to ensure they're heated evenly.
✌️Serve these with your meatballs:
Say Hi on Social! 👋
Follow me on Instagram & Facebook for more recipes.
❤️Love this recipe? It helps me out greatly if you leave a 5-star 🌟🌟🌟🌟🌟rating in the recipe card below and maybe even leave me a lovey-dovey comment too!
Vegan meatballs recipe
Ingredients
- 8 oz. crimini mushrooms or portabello mushrooms, chopped
- ½ cup walnuts
- 1 tablespoon extra virgin olive oil
- ⅓ cup oats (rolled oats or quick oats)
- 3 pieces dried porcini mushroom (optional)
- ⅓ cup onion diced
- 1 clove garlic minced
- ½ teaspoon salt
- ¼ teaspoon ground black pepper
- ½ teaspoon ground coriander
- ¼ teaspoon crushed red pepper flakes (optional)
- ½ teaspoon oregano
- ¼ teaspoon thyme
- ½ teaspoon fennel seeds toasted
- 15 oz. canned black beans drained and rinsed
- 1 tablespoon tomato paste
- 4 teaspoons extra virgin olive oil
Instructions
- Preheat your oven to 400°F (205°C). Prepare a baking sheet by covering it with parchment paper, and brushing it with olive oil.
- Toss the chopped mushrooms and walnuts in a bowl with olive oil and roast them on the prepared pan for 18 minutes until the mushrooms are tender, and slightly wrinkled looking.
- While the mushrooms are roasting, put the oats, dried porcini (if you are using them), onion, garlic, salt, pepper, coriander, red pepper flakes (if you're using them), oregano, thyme, and toasted fennel seeds into a food processor. Give it a few pulses until it's all coarsely ground.
- Now, take the roasted mushrooms and add them to the food processor, along with the black beans and tomato paste. Pulse everything together until it's well mixed. You want to keep some chunky bits of mushrooms for texture.
- With your hands, make small balls from the mixture. Keep a bowl of water on hand to keep wetting your hands as you roll the balls so that the mixture doesn’t stick to your hands.
- Over medium-high heat, warm a skillet with 4 teaspoons of olive oil. After 2 minutes, when the oil is hot, put the meatballs in the skillet. Cook them for 5-6 minutes, turning them or shaking the pan every 30 seconds or so, so that the meatballs brown lightly on all sides.
- After they've browned, move the skillet into the oven. Bake them for another 18-20 minutes. They should be firm and a bit crisp on the outside when they're done.
- Take them out and allow them to cool to room temperature. Once you can handle them comfortably, give them each a gentle squeeze in your hands to compress them before you ladle on marinara, or the sauce of your choice and garnish with fresh herbs.
Chandler
Can I make them Thai style, w/ ginger, etc. and add to coconut curry? Do you squeeze them before adding to sauce - and therefore do not heat them per se in sauce? Thanks.
Adam Sobel
That sounds super good. I haven't tried it, but why not? Yes, they will get just a gentle squeeze as they are cooling to compress them and keep them from falling apart, and then briefly reheated in a hot sauce.
Marna
These 'meatballs' are delicious...another 5 stars....really! They are just the right texture, you would think they would be too soft with out gluten or any other flour as a binder, but they hold up remarkably well, they dont fall apart at all, even the next day! My family loved them...
Inna
I forgot to add the onion (whoops!), and added some dried mushrooms into the mix. The meatballs came out totally delicious, and quite firm - didn't even need the final "loving squeeze" 🙂 I imagine that the dried mushrooms took up some of the moisture (and the missing onion would have added a bit more moisture too). Had them with asparagus and mushroom risotto. Will definitely add to my rotation - thanks for the great recipe!
Irene
Hi, yes this will be my go to recipe as I love pasta and this recipe is delicious thank you.
Adam Sobel
So glad you loved it Irene! These make a great meatball sub too.
Deb Z
Hi Adam,
These meatballs look great. Do they come out really firm?
Paige Davis
Chef Adam, your recipes are so clear and easy to follow. Excited to see this Italian inspired addition which will be part of my rotation. Delicious!