
I have experimented with a number of different ingredient combinations for vegan meatballs and have never been satisfied with them. This vegan meatball recipe however, finally fulfills my desire for a moist and flavourful plant-based meatball. The mixture is cooked all in one pan and then the "meatballs" can be pan fried or baked!
Easy to prepare
Soft and moist "meatballs" that hold up in sauce
Full of flavour, protein & fibre
Makes enough to freeze

Ingredients For Vegan "Meatballs"
I had actually never cooked with TVP before creating this recipe. I tend to work from a small list of simple pantry staples for my recipes in an effort to make them as accessible as possible. However, so many of our YouTube viewers requested recipes using TVP that they finally convinced me to pick up a package and try it out.
The bulk of this vegan meatball recipe is made from TVP (textured vegetable protein) and split red lentils.
If you are also new to using TVP you can check out this Healthline article "What Is TVP?". It explains that although it is called "textured vegetable protein" it is most commonly made from soy. The dehydrated nuggets are made up of "defatted soy" and are a byproduct of making soybean oil. It is a popular vegetarian meat-substitute that is high in protein, a good source of fibre, and generally considered to be a cost effective meat alternative.

Besides the TVP and split red lentils you will only need:
- Vegetable broth.
- Tamari or soy sauce for saltiness and depth of flavour.
- Nutritional yeast for cheesy depth of flavour in the absence of parmesan.
- Ground basil, salt, and fresh parsley if you have it!
- And finally, breadcrumbs to bind the meatballs together.
Method
TVP is quite simple to cook. It needs to be rehydrated in water or broth for 5-10 minutes and then cooked for 5-10 minutes. Instead of rehydrating it on its own, I decided to combine it with split red lentils which also cook in about 10 minutes. This diversifies the protein source, adds bulk to the recipe, and helps the meatballs to bind.
- Start by sautéing onion and garlic.
- Add the TVP, split red lentils, broth, and tamari (or soy sauce).
- Bring to a boil, lower to a simmer, and simmer with the lid on for 10-15 minutes.
- Remove from the heat and stir in the remaining seasonings & breadcrumbs.
- Scoop heaping tablespoons and roll the mixture into 1.5 inch balls.
- Pan fry or bake the meatballs for 20 minutes at 400 F.

How To Freeze This Vegan Meatball Recipe
It was important for me to create a recipe for you that made enough "meatballs" for you to freeze some.
- Bake the meatballs at 400 F for 20 minutes, turning halfway through.
- Allow the meatballs to cool fully.
- Arrange in a single layer on a lined sheet pan and put the whole pan in the freezer for 1-2 hours.
- Once the meatballs are fully frozen, transfer them to a freezer safe bag or container for longer storage. They will last well for 2-3 months (or more) if stored properly.
To cook the meatballs from frozen:
- Pan fry until fully defrosted and browned around the edges. I just brush a thin layer of oil on my pan. Be cautious of splashing if too much oil is used. When the water from the frozen meatballs comes in contact with the hot oil it will splash.
- Bake at 350 F for 25-30 minutes, turning halfway through.
- Alternatively, air fry at 350 F for 15 minutes.
Recipe Cost
This vegan "meatball" recipe makes 40-42 1 oz meatballs and costs me just over $8 Canadian.
In order to make 40 traditional 1 oz meatballs I would need 2 pounds of ground meat. At the time of writing this, ground beef from my local grocery store is $10 per pound! That would be $20 just for the meat. I have not double checked the price at my wholesale store lately but I would think it would be about half of the local grocery store price. That would still be $8-$10 for just the meat.
I was pleased to learn that, once again, this recipe proves my theory that cooking plant-based meals doesn't have to be more costly than eating a traditional diet!

If you love this recipe you might also love my popular Red Lentil Ragu! My Simple Vegan Lasagna with Lentil "Meat" is another crowd favourite!
Let me know in the comments if you try this vegan meatball recipe and how you like it! We love receiving your 5 star reviews!
Print
Vegan "Meatballs" with TVP & Red Lentils
- Total Time: 65 minutes
- Yield: 40-42 1x
- Diet: Vegan
Description
A delicious vegan meatball recipe that is easy to prepare, full of flavour, and makes enough to freeze! Pan fry or bake until golden!
Ingredients
- 1 medium yellow onion, minced (can use red onion)
- 6 cloves garlic, minced
- 1 ½ cup TVP (dry, 150 g)*
- ¾ cup split red lentils (rinsed, 144 g dry)
- 4 cups vegetable broth (homemade for the best savings)
- ¼ cup tamari or soy sauce
- 3 tbsp nutritional yeast
- 3 tsp dried basil
- ½ tsp salt
- ¼ cup fresh parsley, chopped (optional, about 10 g)*
- 1 ¼ cup breadcrumbs (98 g, I use panko but Italian should work)
*Ingredients you need that are not part of our pantry and freezer tips.
Instructions
- In a large sauté pan, heat a dash of oil, water, or broth. Sauté minced onion for 3 minutes until softened and fragrant. Season with salt and pepper. Add the minced garlic and sauté for another two minutes until fragrant.
- Add the dry TVP, rinsed red lentils, broth, and tamari. Bring the broth to a boil, reduce to a simmer, and simmer with the lid on for 10-15 minutes until nearly all of the broth has been absorbed and the lentils are cooked.
- Turn off the heat and add the nutritional yeast, basil, salt, and parsley (or any other chopped fresh herbs you are using). Finally, stir in the breadcrumbs.
- When cool enough to handle, scoop a heaping tablespoon or cookie scoop amount of the mixture and roll it into a ball between your palms. To get 40-42 meatballs I make them about 1 ½ inch in diameter and 1 oz in weight.
- To pan fry: brush your pan with olive oil and fry the meatballs for about 2 minutes on each side until nicely browned. Remove them from the pan, heat your sauce, and add the meatballs back in before serving.
- To bake: arrange on a parchment lined sheet pan and bake at 400 F for 20 minutes turning halfway through. (Alternatively, air fry for 10 minutes at 350 F, turning halfway through).
- To freeze: arrange in a single layer on a sheet pan and place in the freezer for 1-2 hours until frozen. Transfer to a freezer safe bag or container for longer storage. Cook from frozen on a frying pan or bake at 350 F for 25-30 minutes, turning halfway through. Air fry frozen meatballs at 350 F for 15 minutes, turning halfway through.
- Serve with your favourite pasta and sauce. Garnish with fresh parsley or basil and my Quick Vegan "Parmesan Cheese"!
Notes
Approximate Cost: Just over $8 Canadian without fresh parsley vs $20 for 2 lbs of ground beef from my local grocery store and around $8-$10 for 2 lbs ground beef from my wholesale store.
Feel free to use gluten-free breadcrumbs if needed. About ¼ cup of psyllium husk powder could serve as an alternative gluten-free binder but I haven’t tried this myself.
- Prep Time: 30 minutes
- Cook Time: 35 minutes
- Category: Dinner
- Method: Baking
- Cuisine: Italian





Leave A Review