
Chinese stuffed tofu, or “Niang Dou Fu” (釀豆腐), is a beloved dish in Cantonese and Hakka cuisine, featuring silky tofu filled with a flavorful meat mixture. It’s a homestyle dish you don’t often see on restaurant menus, and there are many variations on it depending on each family’s preferences and habits.
Why this recipe
Today I want to introduce to you the stuffed tofu version I like the most.
- I used ground pork instead of the pork and shrimp filling to make the prep easier.
- A very detailed way to carve and stuff tofu is included, to help you prepare this delicate dish.
- The sauce is slightly influenced by Northern Chinese cooking, using a little more aromatics to make it more fragrant.

What type of tofu to use
Medium tofu is the best type to make stuffed tofu.
In China, it’s quite common to use soft, even silken tofu to make this dish. But it requires very gentle handling, so the tofu doesn’t fall apart during cooking. On the other hand, I found firm and extra firm tofu hard to work with too. Both have a grainier texture and the tofu crumbles during the scooping process.
Medium tofu still has the smooth and silky texture, so you preserve the nice mouthfeel of the original dish. But it’s slightly easier to handle than soft and silken tofu.
If you can’t find medium tofu, you can make the dish with firm tofu. I do not recommend using extra firm tofu for this dish.
Some key ingredients
- Shiitake mushrooms: They add a rich umami to the pork filling, which is essential for the dish.
- Cornstarch: Keeps the pork filling juicy and tender during the pan frying.
- Oyster sauce: It adds extra depth of flavor to the sauce.
- Fresh aromatics: Fresh ginger, garlic and scallion are the essential ingredients for making the sauce fragrant.
How to make Stuffed Tofu
Prepare the pork filling
Simply mix the pork, mushrooms, aromatics, soy sauce and cornstarch together into a paste-like mixture.

Stuff the tofu
Cutting and stuffing the tofu properly is an essential part and it can be challenging.
Make sure the tofu is large enough to hold a good amount of filling, but not too big to take a bite out of.
- Split the tofu into two large thinner pieces.
- Cut each piece further into 4 rectangular pieces.

To scoop out the filling, I found that it’s easiest to:
- Use a small paring knife to carve along the tofu, leaving about 1/4” (3 mm) on the edges, to make a frame.
- Then use the handle of a spoon to gently lift the center rectangle out.

Once the tofu is carved, stuff the tofu with the pork filling until the top is leveled. This is to ensure the tofu can brown at the same rate as the pork.

Cook the stuffed tofu
To cook the tofu, place the tofu pork side down into cold oil, to prevent any hot oil splatter. Cook until the pork is browned, then flip to brown the other side.

Then move the tofu to the other side of the pan, cooking the aromatics on the other side. Then pour in the sauce. Stir the sauce to thicken it and let the tofu braise in it to absorb flavor.

Once the sauce thickens, transfer the tofu pieces onto a plate first, then pour the rest of the sauce onto the tofu.
How to serve stuffed tofu
Serve stuffed tofu with steamed rice for a hearty and nutritious meal. To accompany the dish, consider adding a vegetable side or appetizer, and a soup. For example:
- Ginger Green Beans (姜汁豆角)
- 4-Ingredient Baby Bok Choy Stir Fry
- Choy Sum with Garlic Sauce (白灼菜心)
- Chinese Corn Soup with Chicken (鸡蛋玉米羹)
- Spinach Egg Drop Soup

Afterthoughts
Stuffed tofu is a comforting and satisfying dish that showcases the beauty of simple ingredients. It is also a great example of how Chinese cooking incorporates tofu as a key ingredient for its texture and flavor, not just a meat replacement for making vegetarian dishes. If you make this dish at home, please leave a comment and let me know how you like it!
Chinese Cooking Made Easy
Are you new to this website? This free email series is a great place to start. I’ll walk you through a few of my most popular recipes and show you how and why they work. You’ll quickly start to cook better Chinese food in your own kitchen.

Stuffed Tofu (囊豆腐)
Ingredients
- 1 block medium tofu (14-oz block)
Filling
- 1 dried shiitake mushroom , yields 1 tablespoon once rehydrated and minced
- 4 oz ground pork
- 1/2 teaspoon ginger , minced
- 1 scallion , thinly sliced
- 2 teaspoons soy sauce
- 1 teaspoon cornstarch
Sauce
- 2/3 cup chicken broth
- 1 tablespoon light soy sauce
- 1 tablespoon oyster sauce
- 1/4 teaspoon white pepper
- 1/2 teaspoon sugar
- 2 teaspoons cornstarch
- 1 teaspoon toasted sesame oil
Tofu
- 2 tablespoons peanut oil
- 1 scallion , sliced
- 1/2 thumb ginger , minced
- 2 cloves garlic , minced
Instructions
- Cover the shiitake mushroom with warm water. Soak until turning tender throughout, 15 to 20 minutes. Remove and discard the stem. Finely mince the mushroom and transfer to a medium sized bowl.
- Add the ground pork, ginger, scallion, oyster sauce and cornstarch into the bowl with mushroom. Mix in a circular motion until sticky.
- Mix all the sauce ingredients together in a small bowl and side aside.
- To slice tofu, cut the tofu horizontally across the block into two large even pieces, then further cut each piece into two even rectangles (so you get a total of 8 pieces). Use a paring knife to carve out a smaller rectangle in the center of the tofu, leaving about 1/4” (3mm) on the edges, so it’s easier to scoop out the tofu. (see the images above for reference) Use the back of a small spoon to scoop the center to form a dent for the filling. Pack filling into each tofu piece until it’s level with the tofu (*Footnote 1).
- Add 1 tablespoon oil into a large nonstick skillet. Carefully transfer the tofu onto a spatula one piece at a time, filling side down, and slowly slide it into the skillet. Turn on medium-high heat. Sear the tofu until the meat has turned golden brown, 4 minutes or so. Check occasionally for pork doneness. Flip the tofu to brown the other side, 1 to 2 minutes, until slightly golden.
- Move the tofu to one side of the pan. Add the remaining 1 tablespoon of oil, scallion, ginger and garlic to the other side. Stir a few times to release fragrance.
- Stir the sauce again to dissolve the cornstarch completely. Pour it into the skillet. Stir the sauce between the gaps of the tofu pieces rapidly, and cook until the sauce has thickened. Transfer the tofu onto a serving plate, then pour the sauce over the tofu. Serve hot as a main dish.
Notes
- You might have some leftover meat filling. That’s totally OK and try not to over stuff the tofu. You can simply shape the filling into a meatball and cook it together with the tofu.
- To make the dish gluten-free: use tamari to replace soy sauce, and make sure to use a gluten-free oyster sauce.
Nutrition
Have a question or feedback? Add a Comment
Did you make this? I want to see! Tag @OmnivoresCookbook on Instagram, and rate the recipe below.