Vegan Meatballs Recipe

Hearty plant-based meatballs packed with savory lentils, mushrooms, and aromatic herbs that deliver a satisfying meaty texture with a crisp exterior and tender interior.
Difficulty:
Intermediate
Prep Time:
25 mins
Cook Time:
30 mins
Serves:
24 meatballs (6 servings)
An overhead shot of golden-brown vegan meatballs arranged on a rustic ceramic platter, glistening with a light drizzle of olive oil. Several meatballs are cut in half, revealing their textured interior with visible specks of herbs and lentils. In soft natural light, the rich umami tones contrast beautifully with vibrant specks of green parsley and red marinara sauce in a small dipping bowl. A wooden serving spoon rests alongside, with scattered fresh herbs and cracked black pepper adding dimension to the composition. Steam rises subtly from the freshly baked meatballs, emphasizing their warmth and inviting aroma.

Ingredients

<ul class="ingredients-main-list"> <li class="ingredients-single-item">150g brown lentils, rinsed</li> <li class="ingredients-single-item">250g mushrooms, finely chopped (cremini or button)</li> <li class="ingredients-single-item">1 medium onion, finely diced</li> <li class="ingredients-single-item">3 garlic cloves, minced</li> <li class="ingredients-single-item">2 tbsp olive oil, plus extra for baking</li> <li class="ingredients-single-item">2 tbsp ground flaxseed</li> <li class="ingredients-single-item">6 tbsp water</li> <li class="ingredients-single-item">75g rolled oats</li> <li class="ingredients-single-item">75g breadcrumbs (panko or homemade)</li> <li class="ingredients-single-item">2 tbsp nutritional yeast</li> <li class="ingredients-single-item">2 tbsp tomato paste</li> <li class="ingredients-single-item">1 tbsp soy sauce or tamari</li> <li class="ingredients-single-item">2 tsp Italian herbs</li> <li class="ingredients-single-item">1 tsp smoked paprika</li> <li class="ingredients-single-item">1/2 tsp dried oregano</li> <li class="ingredients-single-item">1/4 tsp red pepper flakes (optional)</li> <li class="ingredients-single-item">1 tsp salt</li> <li class="ingredients-single-item">1/2 tsp black pepper</li> <li class="ingredients-single-item">2 tbsp fresh parsley, chopped</li> </ul>

Equipment

<ul class="equipment-main-list"> <li class="equipment-single-item">Food processor</li> <li class="equipment-single-item">Large baking tray</li> <li class="equipment-single-item">Parchment paper</li> <li class="equipment-single-item">Digital kitchen scale</li> </ul>
BAKE SMARTER

Kitchen Converter

Quickly switch between common baking units without leaving the recipe.

Convert
Result—

Volume uses US cups, tablespoons, and teaspoons. Converting weight to volume depends on the ingredient.

Directions

<ol class="no-list-style"> <li class="MethodStepper"> <h4 class="step-title">Step 1</h4> Preheat your oven to 200°C (180°C fan/400°F). Line a large baking tray with parchment paper and lightly brush with olive oil. </li> <li class="MethodStepper"> <h4 class="step-title">Step 2</h4> Cook the lentils according to package instructions until tender but not mushy, approximately 20-25 minutes. Drain thoroughly and allow to cool slightly. Proper draining is crucial as excess moisture will make your meatballs fall apart. </li> <li class="MethodStepper"> <h4 class="step-title">Step 3</h4> Make your flax egg by combining ground flaxseed with water in a small bowl. Stir well and set aside for 5-10 minutes to thicken. This plant-based binding agent works similarly to eggs by creating a gel-like consistency that helps hold ingredients together. </li> <li class="MethodStepper"> <h4 class="step-title">Step 4</h4> Heat 2 tablespoons olive oil in a large pan over medium heat. Add the onions and sauté for 3-4 minutes until softened. Add garlic and cook for another minute until fragrant. </li> <li class="MethodStepper"> <h4 class="step-title">Step 5</h4> Add the chopped mushrooms to the pan and increase heat to medium-high. Cook for 7-8 minutes, stirring occasionally, until mushrooms have released their moisture and it has evaporated. The mushrooms should be browned and reduced in volume. This caramelization process develops deep umami flavor compounds that give a meaty taste. </li> <li class="MethodStepper"> <h4 class="step-title">Step 6</h4> Add the tomato paste, soy sauce, Italian herbs, smoked paprika, oregano, and red pepper flakes (if using) to the mushroom mixture. Stir to combine and cook for 2 minutes to toast the spices and develop flavor. Remove from heat and let cool for 5 minutes. </li> <li class="MethodStepper"> <h4 class="step-title">Step 7</h4> Place the rolled oats in a food processor and pulse until coarsely ground but not powdery. Add the cooled lentils, mushroom mixture, flax egg, nutritional yeast, salt, and pepper. Pulse in short bursts until combined but still textured – avoid over-processing as you want some texture for an authentic meatball bite. </li> <li class="MethodStepper"> <h4 class="step-title">Step 8</h4> Transfer the mixture to a large bowl and fold in the breadcrumbs and fresh parsley. If the mixture seems too wet, add more breadcrumbs one tablespoon at a time. If too dry, add a tablespoon of water. Let the mixture rest for 10 minutes to allow the breadcrumbs to absorb moisture and the flavors to meld. </li> <li class="MethodStepper"> <h4 class="step-title">Step 9</h4> With slightly damp hands (to prevent sticking), shape the mixture into golf ball-sized meatballs, about 30-35g each. Pack them firmly as you roll to ensure they hold together. Place the formed meatballs on the prepared baking sheet, spacing them about 2cm apart. </li> <li class="MethodStepper"> <h4 class="step-title">Step 10</h4> Lightly brush the tops of the meatballs with olive oil to encourage browning. Bake in the preheated oven for 15 minutes, then carefully flip each meatball and bake for another 10-15 minutes until golden brown and firm to the touch. A good crust formation is essential for that satisfying meaty bite. </li> <li class="MethodStepper"> <h4 class="step-title">Step 11</h4> Remove from the oven and let the meatballs rest for 5 minutes before serving – this resting period allows the proteins to set, making the meatballs firmer and less likely to crumble. Serve hot with pasta and marinara sauce, in a sub sandwich, or as an appetizer with dipping sauce. </li> </ol>

Nutrition Facts (per serving)

🍽️ Serving Size: 1 serving
🔥 Calories: 210 calories
🥑 Fat: 8 g
🧈 Saturated Fat: 1 g
🍞 Carbohydrates: 25 g
🍭 Sugar: 2 g
🍗 Protein: 12 g
🫀 Cholesterol: 0 mg
🧂 Sodium: 380 mg

Chef’s Notes

A few helpful details for making this recipe.

Can plant-based meatballs be frozen for later use?

Absolutely! These lentil mushroom meatballs freeze beautifully for up to 3 months. Cool them completely after baking, then freeze on a tray before transferring to an airtight container. Reheat from frozen in a 180°C oven for 15-20 minutes until heated through, perfect for quick weeknight meals.

Why are my homemade vegan meatballs falling apart?

Crumbling is usually caused by excess moisture or insufficient binding. Ensure lentils are thoroughly drained, don't overprocess the mixture (some texture is good), allow the mixture to rest so breadcrumbs absorb moisture, and compress firmly when shaping. The flax egg needs time to gel properly for effective binding.

What's the best way to serve meatless protein balls?

These versatile plant-based balls shine when served with spaghetti and marinara sauce, in sub sandwiches, or as appetisers with dipping sauces. They're delicious in grain bowls, crumbled into tacos, or atop pizzas. For a complete meal, pair with whole grains and vegetables for balanced nutrition.

Want to try something else in ...

More recipes you might like

Keep exploring with more recipes from What's Baking.