These are the best vegan meatballs we’ve ever tried. Thanks to a mixture of lentils, mushrooms, onions and garlic, they are tender and incredibly flavorful. Our whole family loves this recipe. In fact, we’ve been making these meatballs once a week since creating the recipe. Get ready to fall in love!
watch the video

Related: We love these veggie burgers!
I’m over the moon with these vegan meatballs (you can tell!). They are most similar to Italian-American style meatballs and require Italian seasoning, garlic and fennel for flavor. I love serving these with bread like focaccia and making a meatball topping or on top of pasta – I especially like these zucchini noodles or these veggie spaghetti.
How to make the best vegan meatballs I’ve ever eaten
The base for these plant-based meatballs is lentils β which, in case you don’t already know, we love β see our Lemon Lentil Soup and Ultimate Guide to Cooking Lentils for reference.
In addition to the lentils, we add an umami-rich blend of finely chopped and cooked mushrooms, onions, and garlic. The combination of meaty lentils and the savory-sweet mix of mushrooms and onions takes these vegan meatballs from okay to downright delicious. Trust me.
We’ve used beans to make meatless burgers like these black bean burgers or these veggie burgers, but beans just weren’t the solution for this meatball recipe. Lentils were, more specifically, almost cooked lentils.
The trick to getting the best texture is to cook the lentils al dente (just like cooking pasta).
We don’t want super soft lenses for that. They work, but the inside of the meatball will be a little more mushy than we’d like. On the other hand, using partially cooked lentils keeps the texture of each ball firmer, meaning the balls will hold together well.
I love using green lentils (also called French lentils or lentilles du puy) in this recipe as they are already firmer than other types of lentils.
When the lentils are cooked, spread them out on a baking sheet to air dry. The less moisture we add to the meatball mixture, the better.

So here is the overview of our method. It may seem like a lot of steps, but it’s all easy and you can do some of the steps ahead of time.
Partially cook green lentils (15 minutes), and then air dry. While testing this lentil meatball recipe, we found that spreading the cooked lentils on a baking sheet and allowing them to air dry for a few minutes removed excess moisture. The less moisture we add to the meatball mixture, the better.
Finely chop and cook a mixture of onions, mushrooms, garlic and spices. We use a similar mixture to prepare our turkey meatloaf. That’s a completely different recipe than this one, but the purpose of the mushroom mix is ββthe same: to add lots of flavor.

Use a food processor to blend Mix the lentils with the onion and mushroom mixture, breadcrumbs, flaxseed meal and nutritional yeast. I pulse the food processor fairly vigorously so the mixture is easy to form into balls.
Here are two photos: The first one looks mixed but as I tried to shape and cook the balls they started to fall apart.

The second photo shows after the mixture has been pulsed a few more times (see how it’s blended better). When I formed and baked the balls with the mixture in the second photo, they held together perfectly.

Finally, form the mixture into balls and cook. We found it’s best to cook them on the stovetop for the nicest, crispiest outer texture. However, you can also bake the meatballs (instructions are below).

Once the meatballs are cooked, enjoy them as you wish. We usually toss them with some warm marinara sauce or serve them on top of this veggie pasta.
Make tips for the future
There are a few steps in this recipe that can be done ahead of time:
- Cook the lentils ahead of time, then store them in an airtight container in the refrigerator for up to three days.
- Cook the onion and mushroom mixture, then store in an airtight container in the refrigerator for up to three days.
- The meatball mix can be made a day in advance. Keep well covered in the fridge.
And there they are, our favorite vegan meatballs. We hope you try them out soon.

Delicious vegan meatballs you’re craving
-
PREPARATION
-
COOK
-
IN TOTAL
These vegan meatballs are tender and flavorful thanks to a blend of lentils, mushrooms, onions and garlic. For tips on how to prepare in advance, see our article. You can cook the lentils up to three days in advance and refrigerate the meatball mixture overnight.
Makes 18 to 20 meatballs
Watch as we prepare the recipe
you will need
1 cup uncooked green lentils, also known as French lentils or lentilles du puy
1 tablespoon olive oil
4 oz mushrooms, 1 portobello mushroom cap
4 ounces onion, 1/2 medium onion
2 cloves of garlic
2 teaspoons of fennel seeds
2 teaspoons Italian seasoning
2 teaspoons mushroom powder, optional, see our notes
3 tablespoons ground flaxseed
3 tablespoons of water
1/4 cup nutritional yeast
1/2 cup breadcrumbs, we love panko breadcrumbs
Fine sea salt and freshly ground black pepper
directions
- Prepare lentils
1Rinse 1 cup of lentils, then place in a medium saucepan and cover with 2 to 3 inches of water. Bring to a boil, then bring to a simmer, cover and cook until almost tender, 15 minutes. Undercooking the lentils a little will give you the best texture of meatballs.
2Drain then spread on a baking sheet to air dry before using. If making these ahead of time, place the lentils in an airtight container and refrigerate for up to 3 days.
- Prepare mushrooms and onions
1Chop the mushrooms and onions into large chunks, then place in the bowl of a food processor. Add the garlic cloves. Pulse until finely chopped.
2Heat oil in a large skillet over medium-low heat. Add the mushroom and onion mixture and cook, stirring occasionally, until softened. about 2 minutes.
3Stir in 1/2 teaspoon fine sea salt, Italian seasonings, fennel seeds, mushroom powder (optional), and 1/2 teaspoon pepper. Cook until the mushrooms release their liquid and the liquid evaporates; 5 more minutes.
- Prepare meatballs
1Wipe out the bowl of the food processor, then sprinkle the flaxseed meal, 3 tablespoons water, nutritional yeast, and breadcrumbs onto the bottom of the bowl and let sit for five minutes.
2Pulse several times to mix. Next add the partially cooked lentils and chop until the mixture is well blended – see our photos in the article for reference. The mixture should look mostly blended and almost smooth.
3Shape the mixture into balls of about 30 grams each and cook as desired.
- Cook the meatballs
1stove method: Heat a few tablespoons of olive oil in a large skillet over medium-high heat. Gently place the meatballs in the oil and cook, turning occasionally, until well browned and warmed through inside. Serve with warm marinara sauce.
2baking method: Preheat the oven to 375 degrees Fahrenheit. Line a baking sheet with parchment paper or a silicone baking mat. Arrange the meatballs on the baking sheet and spray or lightly drizzle with oil. Bake until browned and heated through; 20 to 25 minutes. Serve with warm marinara sauce.
Adam and Joanne’s tips
- Mushroom powder can be purchased online at specialty stores. You can also make it yourself. Here is our mushroom powder recipe!
- Nutritional yeast is a non-dairy, flaky ingredient that tastes nutty, savory, and cheesy. It’s a nutritional powerhouse and we love the extra flavor it adds to the meatballs. You can omit it or, if you’re not vegan, substitute 1/4 cup finely grated cheese.
- To make these gluten free, use GF certified ingredients and substitute oatmeal for the breadcrumbs. Use 1/3 cup oatmeal and add more as needed.
- Nutritional Information: The nutritional information below is an estimate. We used the USDA database to calculate approximate values. We have not included any oil needed for cooking as you can choose to cook on the stove or in the oven.
If you make this recipe, take a picture and tag it with the hashtag #inspiredtaste – we love to see your creations on Instagram and Facebook! Find us: @inspiredtaste
Nutritional value per serving
serving size
Three meatballs (18 total)
/
calories
223
/
total fat
5.6g
/
Saturated Fatty Acids
0.7g
/
cholesterol
0mg
/
sodium
366.9 mg
/
carbohydrate
32.5g
/
fiber
6.8g
/
total sugar
2.5g
/
protein
12.4g