Go Back Email Link
+ servings

Vegan Hakka-Style Stuffed Tofu

5 from 5 votes
Blocks of tofu stuffed with a mix of mushrooms and minced ‘meat’ in a thick gravy-like sauce. So satisfying and perfect enjoyed with some steamed rice!
Prep Time 30 mins
Cook Time 40 mins
Total Time 1 hr 10 mins
Course Main Course
Cuisine Asian, Chinese, East Asian
Servings 16 stuffed tofu
Calories 92 kcal


For the Tofu


  • 0.5 lb extra firm tofu (scooped out from the tofu)
  • 1 tbsp toasted sesame oil
  • 3 cloves garlic , minced
  • 1/4 cup finely diced mushrooms from 5 pieces of dried shiitake, or other mushrooms
  • 1/2 large carrot finely diced
  • 1 1/2 to 2 tbsp soy sauce or to taste
  • 1/4 tsp ground pepper
  • 1 tsp dark soy sauce optional for colour

Cornstarch Slurry for Filling

Gravy/Thick Sauce

  • 1 3/4 cup room temp. water
  • 1 tbsp soy sauce
  • 1 1/2 tbsp sugar adjust according to desired sweetness
  • 3/4 tsp salt or to taste

Cornstarch Slurry for Sauce/Gravy

For serving


Preparing the mushrooms and tofu

  • Soak dried mushrooms in boiling hot water for at least 15 minutes. Best left to rehydrate overnight.
    Soaked Dried Shiitake
  • Press tofu for at least 10 minutes to drain excess liquid. Afterwards, crumble the tofu with your hands. Slice each block of tofu into 4 two-inch cubes.
    Extra firm tofu wrapped in a towel to drain excess water
  • Carefully mark the tofu using a butter knife. Cut the sides, leaving at least a 1/2-inch border, and then remove the core of the tofu.
  • You can do this by careful scooping it out using the teaspoon. Repeat for the rest of the tofu. Place the removed tofu cores in a bowl. Do not discard. Mash the tofu.

Preparing the filling

  • Heat a pan with some oil. Once hot, add in the garlic and onion. Saute until tender. Add in the mushrooms and carrots. Leave to cook for 3-4 minutes. Add in the mashed tofu (tofu removed from the core). Season with some soy sauce and pepper. Mix well. Leave to cook for 6-7 minutes over medium high heat, mixing every minute or so, until the tofu resembles minced meat.
  • Feel free to adjust seasoning depending on desired taste. Pour in the cornstarch slurry and mix well until the tofu filling starts to thicken and clump together. This will make the mixture firmer and will hold together better once stuffed in the tofu.

Stuffing the tofu

  • Scoop around 2-3 teaspoons of the filling into the tofu. Carefully press down with your finger, while also supporting the sides of the tofu. Ensure that the filling is packed tight. Repeat for the rest of the tofu.

Cooking the tofu

  • Heat a pan with enough oil to submerge at least 1/3 of the tofu. Once hot, place the tofu filling down first. Leave to cook for 3-4 minutes over high heat, until golden brown.Flip the tofu and cook the remaining sides until golden brown.
    Once cooked on each side, set aside in a bowl.
  • Note: You can opt to deep fry the tofu to speed up the process.

Preparing the sauce

  • Remove oil from the frying pan. Over medium low heat, add in the the water, soy sauce, and sugar. Stir until the sugar has dissolved. Turn up heat to medium and leave to a boil. While waiting for the sauce to boil, mix together the cornstarch and water until you have a slurry.
  • Leave the sauce to simmer over medium heat. While stirring, pour in the cornstarch slurry. Keep stirring constantly until the sauce has thickened. Lower the heat to medium. Season with salt, to taste. Feel free to adjust the seasoning based on your desired taste. Turn off the heat.

To Serve

  • Pour sauce over the tofu. Garnish with some chopped green onions and add some chili garlic sauce, if desired. Enjoy while hot with some rice or noodles!



Serving: 1tofu | Calories: 92kcal | Carbohydrates: 5g | Protein: 5g | Fat: 6g | Saturated Fat: 1g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 3g | Trans Fat: 1g | Sodium: 328mg | Potassium: 108mg | Fiber: 1g | Sugar: 2g | Vitamin A: 1IU | Vitamin C: 1mg | Calcium: 22mg | Iron: 1mg
DID YOU MAKE THIS RECIPE?Please leave a rating or comment and share a photo on Instagram, and tag me @thefoodietakesflight or use #thefoodietakesflight :)