
Vegan Tofu and Mushroom Meatballs
Asian-fusion vegan meatballs that combine firm tofu and finely minced mushrooms for savory umami depth, bound with panko and aromatic ginger and garlic. Baked until lightly golden with crispy exteriors and tender, cohesive centers. Serve over rice, in a stir-fry, or with a simple soy-sesame dipping sauce.
- Prep
- 25 min
- Cook
- 22 min
- Wait
- 20 min
- Total
- 1 hr 7 min
- Makes
- 20–24 meatballs
Steps
Before you start
- Have a baking sheet lined with parchment paper ready before you start
- Gather and measure all ingredients—this recipe moves quickly once mixing begins
- Keep a clean kitchen towel or cheesecloth on hand for pressing the tofu (do this first while prepping other ingredients)
- Read through the steps to understand the 15-minute tofu pressing happens before mixing
Prepare the tofu
- Wrap the block of firm tofu in a clean kitchen towel or cheesecloth.
- Place it on a plate and set another plate on top with a weight (like heavy cans or a book) for 15 minutes to remove excess moisture.
- This step is crucial for binding and texture—wet tofu leads to dense, soggy meatballs.
- After pressing, crumble the tofu with your hands into small, pea-sized pieces.
+ Show details− Hide details
Ready when: Tofu is crumbled into pea-sized pieces; excess moisture has been pressed out
Tip: Don't skip the pressing step—excess moisture leads to dense, sodden meatballs that won't hold together well
Mince the mushrooms
- Add the mushrooms to a food processor and pulse until very finely minced, almost paste-like.
- If you don't have a processor, chop them very finely by hand.
- The goal is pieces no larger than a grain of rice.
- The mushrooms provide umami depth and help bind the mixture cohesively.
+ Show details− Hide details
Ready when: Mushrooms are finely minced into very small, uniform pieces about the size of breadcrumbs
Tip: Very fine mincing creates better binding and prevents watery, loose meatballs
Mix the base
- In a large mixing bowl, combine the crumbled tofu, minced mushrooms, panko, minced ginger, minced garlic, and chopped green onions.
- Gently fold everything together until just combined—do not overmix or the meatballs will become dense and tough.
- The mixture should look somewhat rough, with visible pieces of tofu and mushroom throughout.
+ Show details− Hide details
Ready when: All ingredients are combined but the texture remains chunky and loose, not compressed
Tip: Stop mixing as soon as everything is distributed—overmixing compacts the tofu and makes heavy, dense meatballs
Season the mixture
- Pour the soy sauce, sesame oil, and rice vinegar over the mixture.
- Sprinkle in the sesame seeds, then add a generous pinch of salt and several grinds of black pepper.
- Taste a tiny pinch of the raw mixture to check the seasoning (remembering that soy sauce already contains salt).
- Gently fold to distribute all seasonings evenly throughout.
+ Show details− Hide details
Ready when: Seasonings are evenly distributed and the mixture tastes balanced with savory, slightly acidic notes
Shape and arrangeOven 400°F / 205°C
- Preheat the oven to 400°F (200°C).
- Using a 1-tablespoon (15 ml) cookie scoop or your hands, form the mixture into balls about 1.5 inches (4 cm) in diameter.
- Place each meatball on a parchment-lined baking sheet, spacing them about 1 inch (2.5 cm) apart.
- You should get about 20–24 meatballs.
- If the mixture feels too wet to hold together, refrigerate it for 10 minutes before shaping.
+ Show details− Hide details
Ready when: All meatballs are formed into even rounds and evenly spaced on the baking sheet
Tip: Wet hands or a slightly oiled scoop make shaping easier and prevent the mixture from sticking
Bake the meatballsOven 400°F / 205°C
- Bake at 400°F (200°C) for 20–25 minutes.
- Unlike meat meatballs, these won't brown deeply, but you'll notice the exterior becomes firm and develops a subtle golden-brown color.
- They're done when a gentle press on one feels set and doesn't leave an impression, and the interior holds together when pressed.
+ Show details− Hide details
Ready when: Exterior is firm to the touch and set; gentle pressure doesn't leave an impression; interior is cooked through
Tip: These won't brown like meat meatballs—judge doneness by firmness and texture, not browning
Rest and serve
- Remove the baking sheet from the oven and let the meatballs rest for 5 minutes.
- They'll firm up a bit more as they cool.
- Serve warm on their own, over steamed rice, in a stir-fry, or with your favorite dipping sauce or side.
+ Show details− Hide details
Ready when: Meatballs have cooled enough to handle and are fully set and firm
Good to know
Tips
- Pressing the tofu thoroughly is the most critical step—it removes excess moisture, which prevents dense and sodden meatballs that fall apart.
- Mix gently once you add the liquid ingredients to avoid compressing the tofu; you want airiness and texture in the final meatballs.
- Unlike meat meatballs, these won't brown deeply. Judge doneness by firmness and texture, not color—press one gently to confirm it's set firm.
- Serve these over steamed rice, in a stir-fry, or with a simple dipping sauce made from equal parts soy sauce and sesame oil plus a splash of rice vinegar and a pinch of sriracha.
Make ahead
Yes! Form the meatballs and refrigerate them on the baking sheet for up to 2 days before baking. You can also freeze them raw for up to 3 months—bake directly from frozen, adding 5–8 minutes to the total baking time.
Storage & reheating
Room temperature: up to 2 hours (not ideal for longer storage due to spoilage risk). Refrigerator: up to 4 days in an airtight container; reheat at 350°F (175°C) for 8–10 minutes until warmed through. Freezer: up to 3 months; reheat from frozen at 350°F (175°C) for 15–18 minutes.
Substitutions
- cremini, shiitake, or oyster mushrooms → oyster, button, or a mix of mushroom types. Different mushrooms have varying flavors and moisture content; shiitake and oyster are umami-rich, while button mushrooms are milder and drier.
- panko breadcrumbs → regular breadcrumbs (use 1/2 cup / 60 g instead). Regular breadcrumbs are slightly denser and won't crisp quite as much, but the meatballs will still hold together well.
- sesame oil → neutral oil like vegetable or canola oil. You'll lose the distinctive sesame flavor; consider adding 1/2 teaspoon sesame paste or extra sesame seeds to compensate.
- soy sauce or tamari → tamari (gluten-free) or coconut aminos. Tamari is a gluten-free soy sauce with similar saltiness; coconut aminos are soy-free and slightly sweeter, which will shift the flavor profile.
More meatballs
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Chinese
- Method
- Oven
- Quick & Easy
- Meal PrepMake Ahead




