This post may contain affiliate links. Please read our disclosure policy.

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!

Tofu Balls with Sweet & Spicy Sauce

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 Should Try It

  • 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!
Tofu Balls with Sweet & Spicy Sauce

🥣 How to Make It

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.

Tofu Balls with Sweet & Spicy Sauce

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.

Tofu Balls with Sweet & Spicy Sauce

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!

⭐️ Did you like this recipe? Let us know in the comments below, and tag us on Facebook, Instagram, or Pinterest!

Update February 2022: New photos with step-by-step added, and recipe improved.

Tofu Balls with Sweet & Spicy Sauce
full of plants in envelope

Want to Save This Recipe?

Enter your email below & we’ll send it straight to your inbox! Plus, you will receive new recipes every week!

Save Recipe

I’d like to receive more tips & recipes from Full of Plants.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Tofu Balls with Sweet & Spicy Sauce

Tofu Meatballs in Sweet & Sour Sauce

5 from 4 votes
Author: Thomas Pagot
Super tender tofu balls glazed with a sweet and sour tomato sauce! Grain-free, gluten-free, and packed with protein. These tofu balls are a must-try!
Prep Time : 30 minutes
Cook Time : 20 minutes
Total Time : 50 minutes
Servings 16 balls (serves 2)
Calories 399 kcal


Tofu Balls

  • 21 ounces of white firm tofu
  • 1 shallot or 1/2 onion
  • 2 cloves of garlic
  • 1 tbsp dry minced wood ear mushrooms soaked in warm water for 20 minutes
  • 1 tbsp maple syrup
  • 1 tbsp soy sauce
  • 3/4 tsp ground black pepper
  • 1/2 tsp salt
  • 1/2 tsp saté optional

Sweet & Sour Sauce

  • 1 tbsp oil
  • 1 small chili finely chopped
  • 2 ripe tomatoes
  • 1/4 cup water
  • 1 clove of garlic
  • 2 tbsp soy sauce
  • 2 tbsp maple syrup
  • 1/4 tsp five-spice powder
  • 1 tsp cornstarch diluted in 4 tbsp water
  • 3 tbsp chopped green onions


Tofu Balls

  • 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 1/4 cup to 1/3 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 1/2 tbsp 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 1/4 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.


Serving: 1 serving | Calories: 399 kcal | Carbohydrates: 35.4 g | Protein: 27.7 g | Fat: 19.7 g | Fiber: 5 g | Sugar: 24.5 g
Course : Main Course
Cuisine : Asian, Vietnamese
Did you make this recipe? Tag @fullofplants on Instagram and hashtag it #fullofplants
Share this recipe!

About the Author

Thomas Pagot is the founder, photographer, and recipe developer behind Full of Plants. He created the blog in 2016 as a personal cookbook for vegan recipes. Through years of recipe development, Thomas has successfully grown Full of Plants into a trusted resource for plant-based recipes.

Learn more ➜

Leave a Comment

Notify of
Did you make this recipe? Rate it!

Newest Most Voted
Inline Feedbacks
View all comments

5 stars
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.

But Is it really “one” mushroom tho ? I May try this tonight but I’ll substitute the word ear mushroom for dried button mushrooms.

If I can’t find the specific mushroom, how can it be replaced?

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.

Love your recipes and attitude, but need to remind you that tofu is bean-based, not bean-free!

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.

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!

5 stars
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.

5 stars
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.

5 stars
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,

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?

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.