These moist and tender tofu meatballs come in the most delicious sweet, sour, and spicy sauce! It's super saucy and ready in just 30 minutes! Serve with rice or noodles for a delicious weeknight dinner!
Looking for a different way to use tofu? I've got you covered!
Inspired by Vietnamese meatballs called "Xiu Mai", these tofu balls are super simple to prepare and packed with flavor! It's amazing served on top of white rice with steamed broccoli on the side!
Did I mention this dish is also protein-packed (think 27g per serving) but also gluten-free and grain-free? Let's do it!
⭐️ Why You Will Love this Recipe
- It requires just 10 basic, easy-to-find ingredients and comes together in about 30 minutes. Perfect for any weeknight dinner!
- Ultra moist and tender: Tofu keeps these "meatballs" moist and soft.
- It comes with the tastiest sauce: The sauce has the perfect balance of sweet and sour with a hint of spiciness. Plus, it's prepared from fresh tomatoes!
🥣 How to Make Tofu Meatballs
The base for these meat-free balls is, you guessed it, tofu! Start by pressing the tofu through a nut milk bag to remove excess moisture, this step will help the balls hold together better.
Next, we have the seasonings, which consist of shallot, garlic, black mushrooms, maple syrup, soy sauce, and a lot of ground black pepper for some kick. I also added half a teaspoon of saté paste, it is not essential though, but it adds a subtle lemongrass flavor.
Try to mince the mushrooms, shallot, and garlic as finely as possible.
Combine everything together before shaping into balls! If you find the tofu mixture doesn't hold together well, you can add a couple of tablespoons of cornstarch. Personally, I didn't use any here.
I recommend using a cookie scoop to scoop out some of the tofu mixture, and then shape it into a ball between your hands.
Next, you have two options:
- Bake: The healthiest option, and the easiest one. Place the tofu balls on a baking sheet lined with parchment paper and bake for about 20 minutes, flipping once halfway through baking.
- Fry: If you want slightly crispier and richer meatballs, you can deep-fry them until golden brown, about 5 minutes.
🍅 How to Make Sweet & Sour Sauce
Now, let's talk about the sauce! It is a key element of this recipe as it will coat the tofu balls, giving them an addicting sweet and sour flavor.
To make the sauce, fry minced chili for a couple of minutes, I went with one small Thai chili, as I wanted it spicy. If you are not used to spicy dishes, I recommend starting with half of one.
Next, add the tomato purée and cook until the tomato no longer smells raw and has turned into a deeper red color.
Stir in the soy sauce, maple syrup, and five-spice for a subtle Chinese flavor. To thicken the sauce, pour in diluted cornstarch and cook for 1 more minute.
Finally, add the tofu balls to the sauce, stir to coat, and cook for another 3-5 minutes. It's now ready to serve! You can then garnish with chopped green onions and toasted sesame seeds.
- Which type of tofu should I use? Medium tofu works best for this recipe. Stay away from firm or extra firm tofu, as you will end up with very crumbly balls.
- What are black mushrooms? Black mushrooms, also called wood ears mushrooms, are dried mushrooms that are available in most Asian stores. Here, I used shredded wood ear mushrooms, but you can substitute them with one whole dry mushroom.
- Will these tofu balls crumble in the sauce? No, they won't. The tofu balls are moist and very tender but will hold almost as well as regular meatballs.
- How long do these tofu balls keep? It will keep for up to 3 days in the refrigerator. Reheat in a skillet over low-medium heat for 10-15 minutes.
If you are looking for a new way to use tofu, or simply want a protein-packed meal that is rich in flavor, you should definitely try these! Serve on top of rice with sautéed or steamed greens on the side for a complete meal!
🥢 More Asian-inspired Recipes
Let me know in the comments if you try this recipe!
Update February 2022: New photos with step-by-step added, and recipe improved.
Tofu Meatballs in Sweet & Sour Sauce
- 21 ounces of white firm tofu
- 1 shallot or ½ onion
- 2 cloves of garlic
- 1 tablespoon dry minced wood ear mushrooms soaked in warm water for 20 minutes
- 1 tablespoon maple syrup
- 1 tablespoon soy sauce
- ¾ teaspoon ground black pepper
- ½ teaspoon salt
- ½ teaspoon saté optional
Sweet & Sour Sauce
- 1 tablespoon oil
- 1 small chili finely chopped
- 2 ripe tomatoes
- ¼ cup water
- 1 clove of garlic
- 2 tablespoon soy sauce
- 2 tablespoon maple syrup
- ¼ teaspoon five-spice powder
- 1 teaspoon cornstarch diluted in 4 tablespoon water
- 3 tablespoon chopped green onions
- Preheat oven to 350°F (180°C) and line a baking sheet with parchment paper.
- Place the tofu in a nut milk bag and press it to drain excess water, depending on the tofu, you should remove ¼ cup to ⅓ cup of water. This step is essential; otherwise, the balls won't hold together if the tofu is too moist. Transfer the drained tofu to a mixing bowl and set aside.
- Very finely mince the shallot, garlic, and dried mushroom. If you have a food processor, pulse a few times to get a fine mixture. Make sure the shallot and mushrooms are finely minced; otherwise, the balls won't hold together well. Add the minced onion, garlic, and mushroom to the tofu bowl.
- Next, add the seasonings: maple syrup, soy sauce, ground black pepper, salt, and saté if using. Mix well until fully combined. You should have a soft mixture.
- Form 2 and ½ tablespoon balls and roll them gently between your hands. The balls will be quite soft but should hold together well. Place the tofu balls on the prepared baking sheet. Bake for about 20 minutes, flipping halfway through baking (be gentle when flipping to not break them). Remove from the oven and let cool for at least 10 minutes before removing from the baking sheet.
Sweet & Sour Sauce
- Cut off the core of the tomatoes and place them in a blender with ¼ cup of water and a clove of garlic. Blend until you get a smooth tomato purée.
- Heat the tablespoon of oil in a large skillet over medium heat. Once hot, fry the chili for about 2 minutes. Reduce the heat to low and add the tomato purée. Bring back the heat to medium and cook for about 5 minutes, or until the tomato purée has turned into a deep red color.
- Pour in the soy sauce, maple syrup, and five-spice, and cook for 2 more minutes. Add the diluted cornstarch and stir to combine. Cook for one more minute, or until the sauce has thickened.
- Next, add the tofu balls, and cook for 5 more minutes, stirring regularly to coat the balls with the sauce.
- Top with chopped green onions, and serve on top of rice, noodles, or with sautéed greens! Tofu balls are best served immediately but will keep for up to 3 days in the refrigerator.
This looks so fabulous ! Definitely doing this in the next few days as I have all thé ingrédients in my lockdown cupboard!
One dried black mushroom would seem self explanatory, but it isn’t. Never seen dried black mushrooms at the store. I have some dried shiitake mushrooms, would that work? What measurement is “one”? Mine are in pieces.
I am talking about wood ear dry mushrooms, you can find them online or in Asian stores. Dried shiitakes have a different texture and flavor.
But Is it really "one" mushroom tho ? I May try this tonight but I'll substitute the word ear mushroom for dried button mushrooms.
Dried mushrooms tend to get bigger after soaking, so yes it is one wood ear mushroom.
If I can't find the specific mushroom, how can it be replaced?
It can easily be found in the dry section of any Asian store, or often in the Asian section of most supermarkets. Otherwise, you can just omit it.
Um, I love your recipes. They're all gorgeous!
Respectfully though, how can you describe this recipe as "bean-free" when it contains tofu, which comes from soybeans?
Just asking! 😉
PS: Would love to see some fat-free low/no salt recipes.
Thank you for all your creativity.
Thanks for pointing that out Rebecca, I fixed it. I meant bean-free as in a way of not containing red beans, black beans, or lentils like many vegan meatballs.
Love your recipes and attitude, but need to remind you that tofu is bean-based, not bean-free!
Fixed! 🙂 Sorry about that Chip!
You are amazing Thomas. I love each of your recipes. You should launch your own cooking book. Tasty looking recipes with beautiful caption. You always nail it.
Thank you so much Anna! 🙂
Omg, this is such a great idea! I've been wanting to make a good "meatball" that I could use in an old recipe. This is perfect, thanks for sharing!
You're welcome Tori! 🙂
I made this tonight. I did use the milk bag for the tofu, must not have gotten all the moisture out. After baking the tofu balls and making the sauce, I could seei the tofu balls were going to fall apart. So I poured the sauce over the tofu balls and baked in the oven, basting the balls every once in a while till sauce was all thick and drying out. The tofu balls still were a little tender. Served over rice. The taste was fabulous. Thank you for wonder recipes with great flavors.
Glad you like the recipe Trina, thanks for your feedback! 🙂
I made these last night. They are delicious. Have some leftovers will be having for lunch today.
Thank you again for an original dinner idea.
Thanks Trina 🙂
This looks wonderful, can't wait to make it. Thank you so much for all of your delicious, compassionate, cruelty-free recipes. I appreciate you and your site so much!
All the best,
You're welcome Carol 🙂
Hi Thomas... I was also thinking looking at this recipe that it could use a binder, as one of the commenters suggested that the balks were not holding together.Have you considered adding tapioca starch?
If you drain and follow the instructions the balls should not crumble at all, so no need for tapioca starch.
This recipe was flavorful and I love the saté but I ended up eating it ground instead of in ball form because the tofu would not stick. I tried to press as much water as I could out but I could not get the balls to form and stay put. Nonetheless I ate it anyway and it was delicious.
I would recommend trying a different brand of tofu next time, maybe a semi-firm tofu as firm or extra-firm would probably crumble more.