These vegan meatballs made with TVP (textured vegetable protein) are juicy, tender and full of deep savoury flavour. Thanks to one simple umami-boosting ingredient, they deliver the most satisfying meaty bite and richness you would expect from classic meatballs, completely plant-based.
These TVP meatless balls are incredibly versatile. Serve them in vegan spaghetti and meatballs, simmer them in hearty sauces, add them to soups or curries, or enjoy them on their own as a delicious appetiser.

Even before becoming vegan more than a decade ago, meat was never something I particularly enjoyed. However, I do appreciate the comforting texture and satisfaction that certain hearty dishes can bring. These vegan meatballs offer that same comforting experience in a completely plant-based way.
Made with rehydrated TVP, these meatballs have a wonderfully toothsome texture that holds up beautifully in sauces. While TVP granules can be used, TVP chunks create an even meatier bite, making them especially satisfying in dishes like spaghetti and meatballs.

What Is TVP (Textured Vegetable Protein)?
TVP, short for textured vegetable protein, is a plant based ingredient made from soybeans. It is produced from defatted soy flour that has been cooked and dried into small pieces such as granules, flakes, or chunks.
In its dry form, TVP has very little flavour. Once soaked in hot water or broth, it rehydrates and develops a firm texture that absorbs seasonings well. Because of this quality, it is often used in plant-based cooking as a hearty protein that works in dishes where a substantial texture is desired.
TVP is widely used in recipes such as vegan mince, chilli, tacos, and meatless meatballs. It is affordable, shelf stable, and easy to keep on hand in the pantry.
This is the second TVP (textured vegetable protein) recipe in a row on the blog and channel. In fact, these meatless balls were the starting point that inspired the vegan tuna mayo salad. They also appear in a number of Mauritian recipes like Mauritian Vegan Biryani and Soy Chunks Kalia Curry.
While TVP granules can be used, I prefer using chunks for both recipes. Once rehydrated and chopped, they create a slightly firmer texture that gives the meatballs an extra bite, especially in dishes like spaghetti and meatballs.
If you are new to cooking with textured vegetable protein, recipes like these vegan meatballs are a simple place to start. Once rehydrated and seasoned, TVP absorbs flavour easily and works well in many savoury dishes.

Why TVP Works Well for Vegan Meatballs
TVP works especially well in recipes like meatballs because of the way it absorbs flavour and holds its structure once rehydrated. The small pieces bind easily with the other ingredients, allowing the mixture to be shaped and cooked without falling apart.
When seasoned well, TVP takes on the flavours around it while still providing a satisfying texture. This makes it a practical choice for dishes that rely on a hearty bite, such as meatballs served with pasta or simmered in sauces.
Another advantage is that TVP is quick to prepare. A short soak in hot liquid is all that is needed before it can be mixed into the recipe. Because it is dried and shelf stable, it is also an ingredient that can be kept in the pantry and used whenever a simple plant-based protein is needed.
The Secret Ingredient for Savoury Depth
The flavour comes from a well-balanced blend of spices and seasonings, but the real magic lies in a secret ingredient: Marmite.
Marmite is a dark, concentrated spread made from yeast extract. Its flavour is strong and distinctive, which is why people often describe it as something you either enjoy or avoid.
In small amounts, however, Marmite blends into dishes and contributes a rich umami depth. In these meatless balls, it enhances the seasoning and brings a fuller savoury flavour to the mixture.
If you already enjoy Marmite on toast or bread, you may recognise the familiar depth it adds here. If you are less fond of it, you may find that it blends seamlessly into the dish. And this recipe can still be a good way to use a small amount that might otherwise sit unused in the fridge.
The result is not a Marmite flavour. Much like nutritional yeast, it brings a subtle cheesy, savoury depth that transforms the flavour into a well rounded savoury base that supports the spices and herbs in the recipe.

Serving Suggestions and Storage
These TVP meatballs definitely call for flavourful slow-simmered sauces like the classic spaghetti and meatballs dish that makes one of the best simple meals.
I also tend to enjoy them in hearty soups like the Mauritian Haleem or velvety curries. They make excellent fillings in soft wraps or crusty baguettes for a handy packed lunch.
These vegan meatballs are also perfect for meal prep. They freeze beautifully for up to three months, making them a convenient option for quick weeknight dinners.
You can freeze them after shaping or once they are cooked. I prefer freezing them once cooked. Then, simply reheat them or add them directly to your favourite sauces. Just make sure to freeze them separately so that they do not stick to one another.
Vegan Meatballs (TVP Meatless Balls)
In the recipe video below, you will see how easily these vegan meatballs come together.
Vegan Meatballs with TVP
Juicy and tender vegan meatballs made with TVP (textured vegetable protein). These savoury meatless balls are perfect for spaghetti, soups, wraps, or simmering in a rich tomato sauce.
Ingredients
Vegan Meatballs | TVP Meatless Balls (about 20 balls)
- 2 cups (120 g) soya chunks (TVP chunks), dry
- 1 teaspoon paprika
- 1/2 teaspoon ground cumin
- 1 teaspoon coriander powder
- 1/3 teaspoon Marmite
- 2 tablespoons soy sauce
- 1/8 teaspoon nutmeg (just a pinch)
- 1 small to medium white onion (may be omitted for onion-free)
- 2 cloves garlic (omit for garlic-free or substitute with 1 tbsp minced ginger)
- 5 – 8 tablespoons brown rice flour (oat flour or all-purpose flour also works, amount may vary depending on flour type)
- 1 cup brown rice flour (or other flour) for coating the meatballs
- 2 tablespoons potato starch (or cornstarch)
- 1/2 tablespoon coconut oil
- 1 teaspoon salt (or to taste)
Simple Tomato Sauce (serve 3 - 4)
- 1 large can (796 ml) Italian (Roma) tomatoes (choose good quality)
- 1 tablespoon minced ginger (or 1 inch piece of fresh ginger)
- 1/2 teaspoon ground cumin
- 1 1/2 teaspoon paprika
- 1 teaspoon dried thyme
- 1 tablespoon maple syrup (or 2 teaspoons sugar)
- 1/2 tablespoon coconut oil
- Salt and pepper to taste
- Handful of chopped fresh herbs (parsley, basil, or coriander) for garnish
Instructions
Vegan Meatballs | TVP Meatless Balls
- Cover the soya chunks with boiling water and let sit for about 10 minutes until rehydrated and soft.
- Meanwhile chop the onions and garlic.
- Once the TVP chunks are rehydrated, squeeze out the excess water from them.
- Place a portion of the rehydrated chunks in a tall jug and blitz with a hand blender until flaky. Do not mash completely. Repeat in batches until all the chunks have been minced. A food processor can also be used by pulsing briefly. Set aside.
- In a skillet, sauté the onions and garlic in the coconut oil until translucent (about 5 minutes). Add the spices – paprika, cumin, coriander and nutmeg. Saute for about 30 seconds. Next add in the minced TVP. Stir and saute for another 2–3 minutes.
Note: If you are not using onions and garlic, add the minced TVP together with the spices at the same time. Toss and saute for about 3 minutes. - Remove from heat. Place the mixture in a large mixing bowl and allow to cool.
- Dilute the Marmite in the soy sauce.
- Once the TVP mixture is cool enough to handle, add in the Marmite and soy sauce mixture, the potato starch and brown rice flour. Add salt to taste.
- Go in with your hand and mix thoroughly. Start to make balls that are a little smaller than a pingpong ball. The ball should stick and hold together well. If it feels dry and crumbly, add a little water and some more flour.
- Form the balls by applying a little bit of pressure. Dip the ball in some rice flour and coat it all over. Set aside.
- At this stage, you can freeze these balls for later use. Or you can proceed to pan frying or baking them. If you wish to bake them, just place them on a baking tray and spray with some cooking oil. Bake at 180 degrees Celsius (350 degrees Fahrenheit) for about 30–35 minutes in the oven.
- To pan fry them, heat about 2 tablespoons of coconut or cooking oil in a skillet on medium-high temperature. Heat until the oil is hot, then drop in the balls. Do not overcrowd the pan. Fry in batches if you need to. Toss the balls on all sides every now and then for even frying. Once all sides are seared, reduce the heat slightly so that the inside of the balls is thoroughly cooked.
- Remove when lightly crispy on all sides. Drain on absorbent paper.
Simple Tomato Sauce
- Blend all ingredients except the oil until smooth. Heat the oil in a deep skillet or saucepan. Add the sauce to the skillet and simmer partially covered for 20–25 minutes while stirring occasionally, until the liquid is reduced and the tomato sauce has changed to a deeper colour.
Note: The sauce will tend to splatter, so preferably use a rather deep pan. I do personally prefer a skillet for quicker evaporation though, and in this case a lid helps to prevent splatters. Cover the skillet almost completely with a slight opening to let the steam escape. - Add water to adjust the consistency of the sauce. Taste and adjust salt and pepper and maple syrup if tomatoes are too sour.
- Add about 12 to 15 pan-fried or baked meatballs to the sauce. Add a little water if required and simmer for an additional 7–8 minutes.
- Serve over spaghetti or pasta of choice.
Notes
These meatless balls freeze well for up to 3 months. Freeze them either after shaping or once they are cooked. If freezing cooked meatballs, simply reheat or simmer them directly in sauce. Freeze them separately first so they do not stick together.
Love this recipe? Pin it for later.

Discover more from Veganlovlie: Scrumptious Vegan Recipes
Subscribe to get the latest posts sent to your email.



Could this be made in a crockpot? Should I cook the meatballs first? What would you recommend? Thanks! <3