Forget crumbly, bland veggie balls — these vegan meatballs are tender, flavour-packed, and perfectly sturdy for simmering in sauce or loading into subs. Made with pantry staples like lentils, oats, and miso, they deliver on both taste and texture.

Looking for more protein-rich plant-based meals? These are some of my favourites:
- Gnudi Bolognese
- Tofu Shawarma
- Best Vegan Cheeseburger
- Tofu Piccata
- Chickpea Curry with Potato
- Giant Rainbow Rice Paper Roll
- Sheet-Pan Gochujang Tofu
- Crispy Tofu with Creamy Dill Sauce
Whether you’re meal prepping for the week or making dinner for friends, these meatballs hold their own against any traditional version. Pair them with my Simple Napoli Sauce and you’ve got a satisfying, protein-rich meal ready to go. I had them for dinner wrapped up in a panini and my husband had them with spaghetti – they are delicious anyway you have them!
What Are Vegan Meatballs Made From?
Traditional meatballs rely on eggs and meat for binding and richness. This vegan version uses plant-based ingredients like lentils, oats, and umami-rich flavour boosters to do the same job. A quick bake in the oven makes them golden on the outside and soft on the inside — no frying needed. And, they won’t fall apart on you!

Main Ingredients & Why We Use Them
The ingredient list is not small, but this is how you get maximum flavour. However, if you want to reduce some of the ingredients, I’ve added optional if you want to simplify the dish.
- Cannellini beans – Soft and creamy, they provide a neutral-tasting protein base and help bind the meatballs without being too dense.
- Roasted mushrooms – Add juicy texture and deep umami flavour, mimicking the savoury bite of meat.
- Cashews – Give richness and a tender interior, helping the meatballs stay soft and juicy.
- Rolled oats – Act as a binder and add fibre while soaking up flavour and moisture.
- White sandwich bread – Soaked with grated onion, this creates unbeatable juiciness and helps everything hold together.
- Soy sauce – Brings in saltiness and another layer of umami.
- Ground flaxseed – Our egg substitute that helps bind everything naturally once it gels.
- Fresh parsley – Brightens the overall flavour and balances the richness.
- Dried Italian herb mix – A classic flavour blend that gives that unmistakable Italian meatball taste.
- White onion (grated) – Grated for maximum moisture and flavour without noticeable chunks.
- Garlic – Adds pungency and depth that builds as the meatballs bake.
- Salt + black pepper – Essential seasonings to bring all the ingredients to life.
- Tomato paste (optional) – Intensifies the flavour and adds natural sweetness and acidity.
- Nooch mix (optional) – Nutritional yeast and garlic and onion powder, adds a cheesy, salty depth and a little umami without needing dairy.
- Vegan Worcestershire sauce (optional) – Adds a tangy-savoury note that enhances the meatiness.
- Miso paste (optional) – Adds fermented richness and boosts the umami if you want that extra depth.
Juicy Vegan Meatball Ingredients

How to Make It
Start by roasting your mushrooms until golden and deeply flavoured. Grate the onion and mix with torn white bread until it turns into a soft mash — this is the secret to juicy meatballs.

Prepare your flaxseed “egg” and pulse the beans, mushrooms, cashews, oats, bread mixture, seasonings, and flavour boosters in a food processor until combined but still textured. Mix everything with the flaxseed gel and chopped parsley, then chill the mixture for at least 30 minutes to firm it up. Shape into small balls (20g), place on a lined tray, spray with oil, and bake until golden and crisp on the outside but soft and juicy inside.

Variations and Substitutes
- No miso paste? You can skip it!
- Swap lentils with mashed chickpeas or black beans if that’s what you have on hand.
- Gluten-free? Use certified GF oats and tamari instead of soy sauce.
- Add spice with smoked paprika or chilli flakes for a meatier flavour.
Equipment
- Mixing bowl
- Potato masher or fork
- Measuring spoons
- Baking tray lined with baking paper

How to Serve It
My favourite way? Tossed in Napoli sauce and spooned into a crusty sub roll with melty vegan cheese — comfort food perfection. You can also serve them over spaghetti, with polenta, or on their own with a big side salad and some crusty bread.
How to Store It
Let leftovers cool completely, then store in an airtight container in the fridge for up to 4 days. Reheat in a pan with a splash of water or sauce, or freeze them for up to 2 months.
How to Make It

Juicy Vegan Meatballs
Ingredients
- 1 cup cannellini beans drained and rinsed (use 400g can)
- 200 g mushrooms sliced and roasted until golden
- ½ cup cashews
- 1 cup rolled oats
- 1 lightly packed cup diced white sandwich bread crusts removed
- ¼ cup nutritional yeast
- ¼ teaspoon garlic powder
- ¼ teaspoon onion powder
- 2 tablespoon tomato paste
- 2 tablespoon vegan Worcestershire sauce
- 2 tablespoon soy sauce
- 2 tablespoon ground flaxseed
- ¼ cup fresh parsley finely chopped
- 3 teaspoon dried Italian herb mix basil, thyme, oregano
- 1 small white onion grated
- 2 garlic cloves minced
- ¾ teaspoon salt
- ¼ teaspoon black pepper
- 1 tablespoon miso paste optional but recommended for umami
Instructions
Roast the mushrooms:
- Preheat oven to 200°C (400°F). Roast sliced mushrooms for 20–25 minutes until browned and moisture is mostly evaporated. Let cool slightly.
Combine bread and onion:
- Grate the onion using a standard box grater in a large bowl until you have about ½ cup of grated onion and juices. Add bread, mix to combine so the shallot juice soaks the bread and disintegrates. Lightly mash the soaked bread/shallot mix with a fork or your hands to help it fully break down. Set aside while you prep the other ingredients.
Prepare flax egg:
- Mix ground flaxseed with 5 tablespoon water in a small bowl and set aside to gel for 10 minutes.
Blend the base:
- In a food processor, combine beans, roasted mushrooms, cashews, oats, bread, parmesan, tomato paste, soy sauce, Worcestershire, minced garlic, herbs, salt, pepper, and miso (if using). Pulse until the mix is mostly combined but still slightly textured — don’t over-blend.
Mix and bind:
- Transfer mixture to a large bowl. Stir in the flax mixture and parsley. The mixture will be sticky, but that’s okay. Put some wster on your hands to prevent it being too sticky.
Shape and bake:
- Roll into small meatballs (about the size of a levelled tablespoon ~20g) and place on a lined baking sheet. Spray lightly with olive oil.
Bake:
- Bake at 200°C (400°F) for 20–25 minutes until browned and crisp on the outside.

Juicy Vegan Meatballs
Ingredients
- 1 cup cannellini beans drained and rinsed (use 400g can)
- 200 g mushrooms sliced and roasted until golden
- ½ cup cashews
- 1 cup rolled oats
- 1 lightly packed cup diced white sandwich bread crusts removed
- ¼ cup nutritional yeast
- ¼ teaspoon garlic powder
- ¼ teaspoon onion powder
- 2 tablespoon tomato paste
- 2 tablespoon vegan Worcestershire sauce
- 2 tablespoon soy sauce
- 2 tablespoon ground flaxseed
- ¼ cup fresh parsley finely chopped
- 3 teaspoon dried Italian herb mix basil, thyme, oregano
- 1 small white onion grated
- 2 garlic cloves minced
- ¾ teaspoon salt
- ¼ teaspoon black pepper
- 1 tablespoon miso paste optional but recommended for umami
Instructions
Roast the mushrooms:
- Preheat oven to 200°C (400°F). Roast sliced mushrooms for 20–25 minutes until browned and moisture is mostly evaporated. Let cool slightly.
Combine bread and onion:
- Grate the onion using a standard box grater in a large bowl until you have about ½ cup of grated onion and juices. Add bread, mix to combine so the shallot juice soaks the bread and disintegrates. Lightly mash the soaked bread/shallot mix with a fork or your hands to help it fully break down. Set aside while you prep the other ingredients.
Prepare flax egg:
- Mix ground flaxseed with 5 tablespoon water in a small bowl and set aside to gel for 10 minutes.
Blend the base:
- In a food processor, combine beans, roasted mushrooms, cashews, oats, bread, parmesan, tomato paste, soy sauce, Worcestershire, minced garlic, herbs, salt, pepper, and miso (if using). Pulse until the mix is mostly combined but still slightly textured — don’t over-blend.
Mix and bind:
- Transfer mixture to a large bowl. Stir in the flax mixture and parsley. The mixture will be sticky, but that’s okay. Put some wster on your hands to prevent it being too sticky.
Shape and bake:
- Roll into small meatballs (about the size of a levelled tablespoon ~20g) and place on a lined baking sheet. Spray lightly with olive oil.
Bake:
- Bake at 200°C (400°F) for 20–25 minutes until browned and crisp on the outside.
Comments
No Comments