This post will teach you how to make the perfect vegan tofu meatballs that are crispy on the outside, tender on the inside, and packed with mouthwatering flavor!
They're meal-prep-friendly, freezer-friendly, and great to serve with a big bowl of pasta like these ravioli Pomodoro! From the best kind of tofu to use to different cooking methods, we've got you covered here!
I've been on a quest to find the best tofu meatballs, and after a lot of trial and error, I've landed on the perfect recipe and I'm sharing it with you today!
These vegan meatballs couldn't be easier to make and come together in less than 1 hour (most of which is hands-off time!).
They're great for meal prep because they last in the fridge for up to 5 days and reheat well. Also, they're gluten-free and nut-free so everyone can enjoy these delicious meatballs, even if you have allergies!
Looking for more tofu recipes? Try my Mexican tofu fajitas, tofu buddha bowl, and silken tofu nuggets.
Jump to:
Ingredients & Substitutions
- Tofu: For best results, use firm or extra firm tofu. They both have a low water content and will give you chewy yet moist meatballs. Soft or silken tofu won't work, as they're too soft and will turn into mush when crumbling (save them for my silken tofu pasta).
- Nutritional yeast: Classic Italian meatballs contain parmesan cheese, so I'm using nutritional yeast as a vegan alternative.
- Panko breadcrumbs: These will help the tofu meatballs hold their shape. Use gluten-free breadcrumbs if needed.
- Milk: For soaking the breadcrumbs until soft. I use soy milk, but any milk you like can work here.
- Flaxseed meal: Also known as ground flax seeds. When soaked in water, they turn into a gel and have the same qualities as eggs - they bind the mixture together without drying it out. This is a trick I use mostly in baking, to make vegan baked oatmeal without eggs and vegan churros, but it also has its place in savory recipes too, just like this one.
- Cornstarch: I tested the meatballs with and without cornstarch, and those with cornstarch held their shape better and didn't fall apart when bitten into. You can substitute it with potato starch or arrowroot starch.
- Parsley: For adding freshness and brightness to the meatball mixture.
- Onion: You'll need one small yellow or red onion that is finely diced. Shallots can also work here.
- Spices: You'll need dried basil, oregano, red pepper flakes, garlic powder, and salt and black pepper.
See the recipe card below for the full list of ingredients and exact measurements.
Variations
- Instead of serving these tofu meatballs with tomato sauce, try covering them in our sticky gochujang sauce or this sweet and savory teriyaki sauce.
- To make them spicier, add 1-2 teaspoon of hot sauce or sriracha.
- Want to add more flavor? Substituted the dried basil and oregano for 1 tablespoon each of their chopped, fresh counterparts.
How To Make Tofu Meatballs
Step 1: Press your tofu to get rid of excess moisture. Either use a tofu press or wrap your block of tofu in a kitchen towel or a few paper towels.
Place a few heavy objects on top of it (I like to use my Dutch oven) and press for 1 hour.
TIP! If you want to skip the pressing, you can use super firm tofu, it has less moisture in it.
Step 2: Then, add breadcrumbs and milk to a large mixing bowl. Let the breadcrumbs soak in the milk and soften for 5 minutes.
Step 3: Next, crumble the tofu into the bowl and add the rest of the ingredients - nutritional yeast, onion, parsley, flax egg, cornstarch, and spices.
Step 4: Mix with your hands or a spatula until everything is well distributed.
Step 5: Using a cookie scoop, scoop 1 ½ tablespoon of the mixture and roll it into a tight ball.
Step 6: Heat a cast-iron skillet over medium-high heat and once hot, add olive oil. When the oil is hot enough add the meatballs and fry for 3-4 minutes on each side, until golden brown.
Step 7: Bake the meatballs in a preheated oven to 380ºF (200ºC) for 30 minutes, flipping halfway through, or until dry to the touch.
Alternative Cooking Methods
When testing these tofu meatballs, I've found that a mix of pan-frying and baking gives you the best results - golden brown meatballs with crispy edges and a tender inside. They're not too greasy nor too dry and don't fall apart when bitten into.
However, here are other ways you can cook these meatballs and how they affect them:
- Oven-baked: Preheat your oven to 380ºF (200ºC). Add meatballs to a baking sheet layered with parchment paper and spray with cooking spray or brush with oil. Bake for 35 minutes, flipping halfway through, or until golden brown. This will give you meatballs that are dry to the touch with a tender inside, but you'll miss the crispy edges you get from frying.
- Air fried: Preheat your air fryer to 380ºF (200ºC) and spray generously with cooking spray or brush with oil. Add the meatballs in a single layer. Bake for 20 minutes, flipping halfway through, or until golden brown. The air fryer will give you meatballs that are drier on the outside and softer on the outside compared to the other two methods. They can be rubbery when they cool down, so it's not my preferred method.
Whichever method you choose to use, consider these things:
- The meatballs don't stay crispy once cooled, so they're best served warm.
- The additional fat of pan frying gives you a greater mouthfeel than simply air frying or baking.
- They firm up as they cook, but they're still softer on the inside than traditional meatballs.
👩🏼🍳 Petra's Tips
- Use firm or extra-firm tofu. I use extra-firm tofu for a variety of recipes like tofu curry without coconut milk and fried battered tofu and here it's no exception. This is by far the best tofu to use since its water content is lower than silken and soft tofu.
- Don't skip pressing the tofu! This is a key step of the recipe that helps to get rid of excess moisture so your meatball mixture isn't too wet.
- To make things easier, pulse all of the ingredients in a food processor instead of mixing them in a bowl.
- To make these tofu meatballs gluten-free, use gluten-free breadcrumbs. The rest of the ingredients are naturally gluten-free.
- You can make the mixture 3 days ahead of time and store it in the fridge until you're ready to cook!
Recipe FAQs
Eggs and breadcrumbs are what hold classic meatballs together. Since this recipe is vegan, I substituted the eggs with flax "eggs" made by mixing flaxseed meal with water until the mixture is gel-like. This is a trick I also use in my vegan Beyond Meat meatloaf to hold the shape of the meatloaf better.
For this recipe, I also included cornstarch which provides additional binding and prevents the meatballs from falling apart.
Yes, these tofu meatballs freeze very well! Store them in a freezer-safe container for up to 3 months. No need to thaw overnight before reheating.
You can, but you'll miss out on some flavor and texture. However, they'll still taste great because of the spices and nutritional yeast.
Let leftovers cool to room temperature, then transfer to an airtight container and store in the fridge for 4-5 days.
Preheat oven to 380ºF (200ºC) and add tofu meatballs to a baking sheet layered with parchment paper. Bake for 10-12 minutes, flipping halfway through, or until warm.
Serving Suggestions
I love to pair these vegan tofu meatballs with homemade garlic bread and any type of veggies such as these roasted frozen Brussels sprouts.
They can also be enjoyed as Swedish meatballs, coat them with vegan bechamel sauce and serve them with a dollop of cranberry sauce on the side and, of course, curried mashed potatoes.
More Vegan Tofu Recipes
If you tried this Tofu Meatballs Recipe or any other recipe on my website, please leave a 🌟 star rating and let me know how it goes in the 📝 comments below. Thanks for visiting today!
📖 Recipe
Tofu Meatballs
Ingredients
- 2 tablespoon flaxseed meal
- 4 tablespoon water
- ½ cup panko breadcrumbs (use gluten-free if needed)
- ¼ cup non-dairy milk (I use soy milk)
- 14 oz. extra-firm tofu
- ¼ cup nutritional yeast
- 2 tablespoon cornstarch
- ½ cup yellow onion, finely diced ~ 1 small onion
- 2 heaping tbsp chopped fresh parsley
- 1 teaspoon garlic powder
- ½ tsp dried basil
- ½ teaspoon dried oregano
- ¼ teaspoon red pepper flakes
- ½ teaspoon salt
- Freshly cracked black pepper, to taste
- 2 tablespoon olive oil (for frying the meatballs, skip if baking)
Instructions
- First, press your tofu to get rid of excess moisture. Either use a tofu press or wrap your block of tofu in a kitchen towel or a few paper towels. Place a few heavy objects on top of it (I like to use my Dutch oven) and press for 1 hour.14 oz. extra-firm tofu
- If you haven't already, mix the flaxseed meal and water in a small bowl. Let it soak for 5 minutes, or until it becomes gel-like. This will be our vegan egg substitute.2 tablespoon flaxseed meal, 4 tablespoon water
- Then, add breadcrumbs and milk to a large mixing bowl. Let the breadcrumbs soak in the milk and soften for 5 minutes.½ cup panko breadcrumbs, ¼ cup non-dairy milk
- Next, crumble the tofu into the bowl and add all ingredients (except the olive oil).¼ cup nutritional yeast, 2 tablespoon cornstarch, ½ cup yellow onion, finely diced, 2 heaping tablespoon chopped fresh parsley, 1 teaspoon garlic powder, ½ teaspoon dried basil, ½ teaspoon dried oregano, ¼ teaspoon red pepper flakes, ½ teaspoon salt, Freshly cracked black pepper, to taste
- Either using your hands or a spatula, mix until everything is well distributed. Using a cookie scoop, scoop 1 ½ tablespoon of the mixture and roll it into a tight ball. You should have 13-15 meatballs.
- Preheat oven to 380ºF (200ºC). In the meantime, fry the meatballs. Heat a cast-iron skillet over medium-high heat and once hot, add olive oil. When the oil is hot enough add the meatballs and fry for 3-4 minutes on each side, until golden brown. Make sure to not overcrowd the pan, you may need to fry the meatballs in batches.2 tablespoon olive oil
- Transfer the cast-iron skillet to the oven and bake the meatballs for 30 minutes, flipping halfway through, or until dry to the touch. (If you don't have a cast-iron skillet you'll need to transfer the meatballs to a baking sheet layered with parchment paper after frying).
Notes
- Fridge: Let leftovers cool to room temperature, then transfer to an airtight container and store in the fridge for 4-5 days.
- Freezer: Let leftovers cool to room temperature, then transfer to a freezer-safe container and freezer for 3 months.
Nutrition
Nutrition information is a rough estimate calculated with third-party calculations without including the optional ingredients.
Blagovesta says
The best vegan meatballs you’ll ever try!
Petranka says
Sp happy you liked them!!!