Tofu Meatballs (Vegan, Hearty, High-Protein)



This post may contain affiliate links. As an Amazon Associate, I earn from qualifying purchases. Please read my disclosure.

These tofu meatballs are a rich and tasty plant-based version of an iconic comfort food. I use firm tofu, Italian herbs, and walnuts held together with flax egg and breadcrumbs for a tender protein-rich sphere that takes just 1 hour to make and can be added to any number of dishes.

Easy vegan tofu meatballs, tossed with marinara sauce and served on top of pasta, on a grey plate.

IKEA may sell over 1 billion meatballs a year, but those of us on a plant-based diet have had to find our fix at other places. Tofu meatballs are readily available at many stores, but nothing beats the flavor and quality of homemade meatballs. I have used tofu to reimagine many dishes, as I did with my silken tofu scramble, but these meatballs are without a doubt a crowd favorite. Be sure to add a few to your next pasta dish. 

There was a time when my kids were younger and pickier, and these meatballs made an appearance at more dinners than I would like to admit. Eventually, they became more adventurous and started enjoying differently prepared tofu, like my Sofritas Chipotle copycat recipe. Then one day, I realized that it had been a good few months without meatballs, and decided to make them for dinner. When my kids saw them, they got so excited you would think they were reuniting with an old friend. Ha! 

These tofu meatballs deliver plant-based nutrition and comfort in one dish, and as a mom, nothing makes me happier. Tofu provides plant-based protein and nutrients, while the health benefits of walnuts could improve heart and bone health. I love that I have complete say in what goes into these homemade vegan meatballs, and I make sure that it is both wholesome and scrumptious. 

Just like traditional methods, these tofu meatballs are made with a simple and trusted technique. I press the tofu to remove excess moisture, crumble it finely, and combine it with binding ingredients. I love how baking instead of frying keeps the process cleaner without any overly oily textures, allowing the outside to firm up while the inside stays tender.

Meatballs are so legendary that there are 2 completely different generations that have a movie associated with them. For my kids, it is Cloudy with a Chance of Meatballs. And for me, it is Lady and the Tramp.

A few years ago, I introduced my kids to this Disney classic, and unsurprisingly, they asked for spaghetti and meatballs for dinner. What was a total surprise was my youngest attempting to push a meatball across the plate with their nose. Ha! Next movie day, pick one that features meatballs, then surprise your kids with a tofu meatball dinner.

Latest Recipe Video!

🥘 Ingredients

These are the simple ingredients I use to make these easy tofu meatballs:

Ingredients for healthy tofu meatballs recipe on a white background.Ingredients for healthy tofu meatballs recipe on a white background.

Flax egg: I mix ground flaxseed and water to create a flax egg, which helps bind the meatballs.

Oil: I use neutral oil to cook my onions and garlic, and add moisture to the mixture.

Aromatics: When sauteed, these release a natural sweetness which works well in the meatballs.

Walnuts: I use finely ground walnuts to create a texture that mimics traditional meatballs.

Firm tofu: Firm or extra-firm tofu works best for this recipe. Always make sure to press it first.

Breadcrumbs: These help hold everything together.

Cornstarch: This helps bind the mixture and improves the texture.

Vegan Worcestershire sauce: I add this for a savory umami flavor.

Salt and pepper: Simple seasoning brings out the flavors.

Italian herbs: Dried Italian herbs infuse the meatballs for a familiar flavor.

Nutritional yeast: I add this for a cheesy flavor. 

🔪 How To Make

I follow this step-by-step process to get my tofu meatballs to the perfect texture: 

Make flax egg: I start by mixing ground flaxseed with water, then set it aside, allowing it to thicken.

Ground flaxseeds and water mixed in a mixing bowl.Ground flaxseeds and water mixed in a mixing bowl.

Saute aromatics: Then I cook the garlic and onion until soft and fragrant and set aside.

Onions and garlic sauteeing in a pan.Onions and garlic sauteeing in a pan.

Mix the meatballs: I crumble the pressed tofu into a bowl, add the walnuts, flax egg, cooked aromatics, and remaining ingredients, and mix until combined.

Ground walnuts, tofu, and other vegan meatball ingredients mixed in a mixing bowl.Ground walnuts, tofu, and other vegan meatball ingredients mixed in a mixing bowl.

Shape meatballs: Next, I form the mixture into evenly sized balls and place them on a lined baking sheet.

Tofu ball rolled in a hand over a mixing bowl.Tofu ball rolled in a hand over a mixing bowl.

Bake: I bake the meatballs in a preheated 350F oven, and cook for 25-30 minutes until golden and slightly firm.

Vegan meatballs on a baking sheet lined with parchment paper.Vegan meatballs on a baking sheet lined with parchment paper.

Serve: I serve these meatballs warm with a sauce, or as part of a larger meal. 

Baked vegan tofu meatballs on a baking sheet lined with parchment paper.Baked vegan tofu meatballs on a baking sheet lined with parchment paper.

My #1 Secret Tip for this tofu meatball recipe is to press the tofu thoroughly before mixing. Excess moisture prevents the mixture from binding properly, and well-pressed tofu gives the meatballs a significantly firmer texture. 

Other Tips To Keep In Mind:

  • Fine crumble: I break the tofu into small, even pieces so the mixture binds easily.
  • Rest mixture: If the mixture feels too soft, I chill it in the fridge for 30 minutes before shaping. 
  • Dampen hands: I lightly dampen my hands with water before shaping each meatball to prevent sticking and keep a smooth surface.
  • Swap out breadcrumbs: If you do not want to use breadcrumbs, rolled oats or gluten-free panko work well as binding agents in this recipe. 
  • Do one test: I always roll one small ball and cook it off in the oven before rolling the entire mixture and baking it. This gives me a chance to check the seasoning and how well the meatballs hold their shape.

📖 Variations

I love that every culture has its own version of meatballs. From Dutch bitterballen to Turkish kofte. And these are 3 of my favorite plant-based variations: 

Mushroom blend: For a nut-free option, I replace the walnuts with 1 cup finely chopped sauteed mushrooms. Be sure to remove all the excess liquid from the mushrooms before adding them to the tofu. This works really well in dishes like my vegan mushroom pasta.

Spicy version: I add 1 teaspoon of chilli flakes or a dash of hot sauce for extra heat. My husband loves this version and has even requested it on taco night.

Asian style: I swap the Italian herbs for freshly grated ginger, 1 teaspoon of light soy sauce, and 1 tablespoon of green onions. A few minutes before they are done baking, I spoon over some gluten free stir fry sauce and allow it to get sticky during the last few minutes in the oven. 

🍽 Serving Suggestions

If you want to turn these tofu meatballs into a classic dish that everyone will love, including the picky eaters, make spaghetti and meatballs. I recommend using my homemade vegan pasta with my keto marinara sauce. Recently, I added these meatballs to my red lentil pasta, which has a thicker, more nutritious sauce, and it was an instant hit.

I have used these tofu meatballs in so many ways. My kids really love it in a vegan meatball sub, whereas I personally enjoy making them a little smaller and adding them to my vegan minestrone soup. And my husband prefers them plain with a side of mustard BBQ sauce. 

🧊 Storing And ♨️ Reheating

Refrigeration: I store cooked meatballs in an airtight container in the refrigerator for up to 4 days.

Freezing: I freeze the meatballs in a single layer until hard, then transfer them to a container or freezer bag and keep for up to 3 months. 

Reheating: If frozen, I thaw in the fridge overnight, then reheat in the oven, or in a sauce on the stovetop until warmed through. 

❓Recipe FAQs

Why are my tofu meatballs falling apart?

This usually happens when there is too much moisture in the tofu or not enough binding ingredients. I avoid this by making sure that my tofu has been thoroughly pressed, and including enough breadcrumbs and flax egg to the mix. If it still seems loose, I add a little more breadcrumbs before shaping.

What is the best way to press extra-firm tofu?

I press my tofu by placing it between 2 clean kitchen towels or paper towels, then set something heavy on top, like a skillet or some heavy books. I aim for 3-5 lbs of weight, which is enough to press out the moisture without crushing the tofu. Then I let the tofu press for 15-20 minutes and pat it dry before crumbling. Make sure to place the tofu on a rimmed plate or baking tray to catch the water. If you can, I recommend draining the plate halfway through the pressing to prevent reabsorption.

How do I get these meatballs to brown nicely in the oven?

I lightly spray or brush the tofu meatballs with olive oil before baking and make sure the oven is always fully preheated. Turning them halfway through cooking also ensures they are browned on multiple sides.

Easy tofu meatballs, tossed with marinara sauce and served on top of pasta, on a grey plate.Easy tofu meatballs, tossed with marinara sauce and served on top of pasta, on a grey plate.

Love this Vegan recipe? Please leave a 5-star rating 🌟 in the recipe below and/or a review in the comment section further down the page!

You can also FOLLOW ME on FACEBOOK, INSTAGRAM, and PINTEREST to see more delicious, healthy, family-friendly food, and if you have any questions, I’m here to help!

📋 Recipe Card

Tofu Meatballs

These tofu meatballs are a rich and tasty plant-based version of an iconic comfort food. I use firm tofu, Italian herbs, and walnuts held together with flax egg and breadcrumbs for a tender protein-rich sphere that takes just 1 hour to make and can be added to any number of dishes.

Prep Time25 minutes

Cook Time35 minutes

Total Time1 hour

Course: Main Course, Side Dish

Cuisine: American, Italian, Vegan, vegetarian

Diet: Vegan, Vegetarian

Servings: 28 meatballs

Calories: 51kcal

  • My #1 Secret Tip for this tofu meatball recipe is to press the tofu thoroughly before mixing. Excess moisture prevents the mixture from binding properly, and well-pressed tofu gives the meatballs a significantly firmer texture. 
  • Fine crumble: I break the tofu into small, even pieces so the mixture binds easily.
  • Rest mixture: If the mixture feels too soft, I chill it in the fridge for 30 minutes before shaping. 
  • Dampen hands: I lightly dampen my hands with water before shaping each meatball to prevent sticking and keep a smooth surface.
  • Swap out breadcrumbs: If you do not want to use breadcrumbs, rolled oats or gluten-free panko work well as binding agents in this recipe. 
  • Do one test: I always roll one small ball and cook it off in the oven before rolling the entire mixture and baking it. This gives me a chance to check the seasoning and how well the meatballs hold their shape.

Serving: 1meatball | Calories: 51kcal | Carbohydrates: 4g | Protein: 2g | Fat: 3g | Saturated Fat: 0.3g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 1g | Trans Fat: 0.002g | Sodium: 128mg | Potassium: 39mg | Fiber: 1g | Sugar: 1g



Prosta Defend Sleep Lean Nano Defense Pro Joint Genesis AlphaFuel Pro RetiClear Alpha Surge Joint Genesis ProvaSlim Sparta Max Citrus Burn Vitta Burn Ignitra Blood Armor Mitolyn ManForceX TrimX Titan Transform Sciaticyl Flow Force Max GlucoSwitch Vigortrix GlycoFortin Total Control 24 VigorLong Belly Flush TrImology Neuro Serge NeuroWave DentaVive Dubai Wealth Secret MetaRise Citrus Burn Nervion Munjaboost Regenvia Zensulien SlimLeaf Vitrafoxin Neuro E Prime VisiFlora TerboTest Potent Stream Gluco Extend New Era Protect Male Power XL The Brain Song X The Brain Song Sugar Mutes ProstaDyne Gelatin Weight Loss Pulmo Balance Quick Burn BHB Gelatin Recipe Glycopezil ViriFlow Dental Bright MyoForce Gut Vitali Prodentim IpoeVive Prime Biome Testo Erect Nutra Glow Neuriva NeuroQ Ageless Brain Nervive Nerve Control 911 SciatiCare NeuroPaway LeanZene Virilix Prevagen Vitta Burn Brainergy Sciatic Ease Citrus Burn Citrus Burn Lotto Champ Nervala Gelatin Sculpt Flat Belly Melts VertiAid Brain Savior Chocotide Dentolyn HeroUp GlycoMute Nervalas GL Pro Synaptigen The Last Wish Meta Melt Nitric Boost Ultra MenBalance Pro Nerve Genics OptiPlax