Free shipping in the US & UK

This section doesn’t currently include any content. Add content to this section using the sidebar.

Image caption appears here

Add your deal, information or promotional text

Tofu Meatballs: A Spicy Asian Recipe

Meatballs are super-handy to make for dinner - tasty morsels packed full of protein and flavoured by spice and savory sauces. 

This meat-free alternative to traditional meatballs uses tofu as its base - a filling, inexpensive, and high-protein option. It’s light enough in flavour that it will take on whatever you use to season it. 

For this recipe, we used ingredients and spices inspired by some of our favourite Asian dishes to make our tofu meatballs. Vegan protein can be tricky to work with, so we’ve added garlic, onion, and mushrooms to help secure the base of these meatballs without using any extra binding ingredients. 

The sauce is a tad spicy with hot chillis, sweet maple syrup, tomato, and traditional five-spice powder, which contains the warm spice of cinnamon, anise, fennel seed, Sichuan peppercorn, and clove.

This recipe requires very little preparation - once you press your tofu, you prepare and bake the balls, then lightly fry them in the heated sauce. Read below to learn how to make our tofu meatballs recipe and enjoy this easy, light, and flavourful vegan meal for lunch or dinner!

How to make tofu meatballs



  • 3 blocks of firm tofu
  • 2 cloves of garlic, minced
  • 1/2 cooking onion, minced
  • 1 dry wood ear mushroom, soaked for 1-hour minimum, minced
  • 1 Tbsp pure maple syrup
  • 1 Tbsp soy sauce
  • 1 & 1/4 tsp black pepper, ground
  • 3/4 tsp sea salt
  • 1/2 tsp saté oil (optional)

Spicy sauce

  • 1 Tbsp vegetable oil
  • 2 ripe tomatoes
  • 2 small chillis, finely chopped
  • 2 Tbsp pure maple syrup
  • 2 Tbsp soy sauce
  • 1/2 tsp cornflour, mixed in 3 tbsp water
  • 1/2 tsp five-spice powder
  • 3 Tbsp green onions, chopped



  • Preheat the oven to 177°C. Line a baking sheet with parchment paper.
  • Place the firm tofu in a tofu press for 15 mins to remove excess water. This step is crucial, as the balls won’t hold together if the tofu is too moist. Transfer the drained tofu to a medium-sized mixing bowl and set aside.
  • Finely mince the onion, dried mushrooms, and garlic. Use a food processor to pulse them and get a very fine mince. If the pieces of onion and mushrooms are too large, the meatballs won’t stick together, so keep them as small as possible. 
  • Add in the minced onion, garlic, and mushroom to the tofu mixing bowl.
  • Next, add in the seasonings: ground black pepper, maple syrup, salt, soy sauce, and saté oil if using. Mix ingredients well until thoroughly combined. The mixture should be soft.
  • Form balls roughly the size of 2.5 Tbsp balls and roll them gently between your hands. The balls will be quite soft and hold together well. Place your meatballs on the prepared baking sheet.
  • Bake the meatballs for 20 mins total, flipping halfway. Remove them from the oven and set aside. Prepare the sauce.

Spicy sauce

  • Cut out the core of the tomatoes. Place the tomatoes into a blender with 1 Tbsp of water. Blend well until the tomatoes are a smooth purée.
  • Heat 1 Tbsp of vegetable oil, like canola, in a skillet over medium heat. Once the oil is hot, fry the chillis for 2 mins. 
  • Reduce heat to low. Add in the tomato purée. Bring the skillet's heat up to medium and cook for 5 mins, or until the colour of the tomato purée is a deep-red.
  • Add in the maple syrup, soy sauce, and five-spice. Cook for 2 mins.
  • Add in the diluted cornflour and mix to combine thoroughly. Carefully place the balls into the skillet and cook for another 5 mins. Stir regularly to fully coat the balls with the spicy sauce.
  • Remove from the heat and serve. Top with green onions and serve on a bed of rice, rice noodles, or with sautéed vegetables.
  • Tofu balls are best served immediately. They will also keep for up to 2 days in the refrigerator.

Nutrition Information

Serving Size: 1; Calories: 399 kcal; Sugar: 24.5g; Carbohydrates: 35.4g; Fat: 19.7g; Protein: 27.7g; Fiber: 5g.

Spicy tofu meatballs FAQ

Is it better to bake or to fry meatballs?

We chose baking for our tofu balls recipe because it makes the tofu crispy outside, without any additional oil, and removes more water from the naturally water-filled tofu. 

You can pan-fry your meatballs if you prefer; they’ll still be tasty but might be a little more watery than our version.

Is this recipe gluten-free? 

If you’re using gluten-free soy sauce, this recipe is entirely free of gluten. The best side dishes with these vegan tofu meatballs are gluten-free - white or brown rice, rice noodles, or simple grilled vegetables.

Can I use other types of tofu?

We used firm tofu in our recipe, but extra-firm tofu would work well, too. The firmer the tofu, the better the meatballs will stick together. Soft tofu has higher water content and easily crumbles when you try to work it into meatballs. 

Do I need to press the tofu? What if I don’t own a tofu press?

The pressing step is crucial in this recipe. Tofu is somewhat watery, which doesn’t lend well to the cooking process. By pressing the tofu and removing the moisture, it will stick together and bake to a nice, crispy texture without getting soggy.

You can use a tofu press; it takes about 15 minutes this way. If you don’t have one, you can also press your tofu, wrapped in a dry towel between 2 cutting boards or heavy plates, but it takes a little longer - approximately 2-3 hours. 

What is saté oil?

Saté oil is a spicy Asian condiment made with lemongrass, chilli, garlic, and shallots. You don’t need to include it in this recipe if you don’t have any, but it adds delicious flavour to the recipe. 

You can find saté at most Asian grocery stores.

Final notes

We hope you enjoy trying this recipe for easy vegan meatballs. One of the great things about tofu is that it is so adaptable - you can just as easily tweak the spices used and bake up some Italian-style meatballs and serve them in tomato sauce on a pile of spaghettini.