RecipeTofu

Stuffed Tofu, Hakka Style (客家酿豆腐)

Pan-fried tofu blocks stuffed with a pork and shrimp filling, and served with an umami-rich sauce, Hakka style stuffed tofu is delightful to eat.

Published by CharWok

🥢 Tofu⏱ Prep 15 min🔥 Cook 15 min🕒 Total 30 min🍽️ Serves 3
Six golden Hakka stuffed tofu blocks filled with pork, shrimp and shiitake, coated in savory sauce and scallions

Hakka stuffed tofu (客家酿豆腐, nyiong tofu) is one of those dishes that look calm on the plate and hide a small riot inside: a block of soft bean curd with a savory meat-and-shrimp filling tucked into a pocket, then pan-fried until the filling is crusted and brown and the tofu has gone golden at the edges, all of it glazed in a glossy, garlic-laced sauce. The pain point I hear most from home cooks is that the filling falls out in the pan, or the tofu splits while you carve it. Both failures come down to two things I'll keep returning to: which tofu you buy, and how patient you are with the knife.

Fry the filled side down first on medium-low heat until the meat crusts before you ever flip it. That crust is the glue. Budget about 30 minutes total for three servings of 600 g firm tofu stuffed with an 80/80 g pork-and-shrimp mix.

What this dish is, and where it comes from

The Hakka are a Han subgroup historically settled across southern China, and their food has a clear signature: resourceful, salt-forward, and built around clever uses of modest ingredients. "Stuffed" dishes (nyiong) are a Hakka hallmark. The story you hear is that northerners wrapped meat in wheat dough; southerners without wheat fields wrapped meat in tofu, bitter melon, or peppers instead, using the vegetable as the wrapper. Whether that etymology is tidy folklore or fact, the technique is real and it travels well to a home kitchen anywhere.

The filling here is a pork-and-shrimp blend, the same logic I use for shumai and for a good chunk of the dumpling fillings I make. Shiitake adds an earthy back note and, just as importantly, gives you free broth when you rehydrate the dried caps. The sauce is built from that broth plus soy, oyster, and a cornstarch slurry, finished off-heat so it stays glossy instead of going cloudy. If you have cooked Sichuan braised tofu or scallion tofu before, the pan-sauce finish will feel familiar.

Choosing tofu that won't betray you

This is the step that decides whether the recipe is a pleasure or a fight. You need firm block tofu sold by an Asian brand, ideally from a Chinese or Southeast Asian grocery. Mainstream supermarket tofu shelved in the vegan section is often too crumbly or too wet, and it will split when you carve it. The block should feel dense and spring back slightly under a fingertip.

Do not buy silken tofu, regardless of what the label claims about firmness. Silken (chen doufu) isn't pressed at all; it's coagulated in its own water and set like custard. It will collapse the instant you try to hollow it out. If silken is what you have, save it for a cold dish like silken tofu salad and come back to this recipe another day.

Medium-firm works if you're careful, but I don't recommend it for a first attempt. One concession I'll make honestly: even with the right tofu, my first carved block usually looks a little ragged. It still tastes fine. Neatness is a goal, not a requirement.

The filling: why it has to turn sticky

A good filling is tender but not wet, and it holds together as one mass. You get there by mixing the minced pork and shrimp with the seasonings until the proteins go sticky and slightly pale. That stickiness is extracted muscle protein acting like glue; it's the same reason you knead pan-fried pork bun filling, and the same reason a slack, under-mixed filling weeps water and leaks out of the tofu while it fries.

Ingredients

Ingredients at a glance

Ingredients for Stuffed Tofu, Hakka Style (客家酿豆腐), arranged in a top-down flat lay
Use the ingredient table below for exact amounts and substitutions.
IngredientAmountNotes / substitute
Minced pork (ground pork, ~80% lean)80 g (about 3 oz)Not too lean; some fat keeps the filling juicy. Ground chicken works.
Minced shrimp80 g (about 3 oz)Chop small for bite; mince fine for paste. Omit and add rehydrated dried shrimp if you prefer pork-only.
Dried shiitake mushrooms2 largeRehydrate in warm water 20–30 min. Keep the soaking liquid. Fresh shiitake is a weak substitute, but acceptable.
Minced ginger¼ teaspoonTames the pork's smell; don't increase or it dominates.
Light soy sauce1 tablespoonLight, not dark. See the light vs. dark soy sauce guide.
Toasted sesame oil¼ teaspoonA little goes far.
Cornstarch½ teaspoonBinds the filling and locks in moisture.
Sugar1 pinchRounds the salt; you should not taste sweetness.
Firm tofu600 g (about 1.3 lb)One block, usually. Asian-brand firm, not silken.
Neutral cooking oil3 tablespoonsCanola, grapeseed, or peanut. Enough to film the pan generously.
Garlic, minced (sauce)2 clovesFry briefly; do not brown.
Light soy sauce (sauce)1 tablespoonSalt backbone of the glaze.
Oyster sauce1 tablespoonUmami and body. Vegetarian oyster sauce (mushroom-based) works.
Cornstarch (sauce)1 tablespoonThickens the glaze to a clinging consistency.
Ground white pepper1 pinchWarmer than black; preferred here.
Sugar (sauce)1 pinchBalances the soy and oyster.
Mushroom soaking water (sauce)5 tablespoonsReuse the liquid from rehydrating the shiitake; it's free stock.
Scallions, finely chopped1–2Garnish. Add right before serving.
Yield: about 3 servings. Nutrition per serving is roughly 333 kcal.

How to make it, step by step

Rehydrate the mushrooms first so they're ready when you need them, and save that dark, tea-colored water. A deeper dive on handling them is in the shiitake mushroom guide.

  1. Mix the filling until sticky. Combine the minced pork, minced shrimp, finely minced rehydrated shiitake, ginger, light soy sauce, sesame oil, cornstarch, and a pinch of sugar. Stir in one direction for about two minutes until the mass turns pale, tacky, and clings to the spoon. This is the bind that stops leaks later; if it still looks loose and wet, keep going.
  2. Carve the tofu. Drain the block and pat the surface dry with paper towels (a wet surface spatters in oil). Cut into chunky rectangles about 2.5 cm / 1 inch thick. With the tip of a paring knife, score a rectangle halfway into the top of each block, then lift the center plug out with a small spoon. Leave a roughly 5 mm wall on the sides and bottom. The wall is what holds the filling; if you cut through it, the filling has nothing to sit on.
    A teaspoon lifts the center plug from the scored top of a thick firm-tofu block, leaving a half-depth pocket with wide side walls and an intact floor

    Cut the dried firm tofu into blocks about 2.5 cm thick, score a rectangle only halfway down and lift out the center with a small spoon. Keep roughly 5 mm of tofu on every side and a solid floor so the filling has a secure pocket.

  3. Stuff gently. Cradle each block in one hand with your fingers bracing the sides. Press a spoonful of filling into the pocket with the other, mounding it slightly above the rim. A small bulge is fine and crisps nicely; a tall pile will topple.
  4. Fry filled-side down first. Film a nonstick skillet with the oil over medium-low heat. Lay the blocks in filling side down and let them sit undisturbed. Don't poke or move them. You're waiting for the exposed meat to form a browned crust, which takes about 4–5 minutes; that crust is what welds the filling to the tofu. If you flip early, the filling slides out.
    Five stuffed tofu blocks fry with plain backs upward while a spatula lifts one to reveal a deep golden filling crust firmly attached inside its pocket

    Set every block filling-side down in a thin oil film over medium-low heat and leave it undisturbed for about 4 to 5 minutes. Flip only when the meat has formed a deep golden crust that releases easily and holds the filling to the tofu.

  5. Brown the other faces. Once the filled side is crusted and releases easily, turn the blocks over with a thin spatula and brown the bottom. Then stand them on their sides to color the edges if you like the look; this is cosmetic, since the tofu is cooked through once the filling is done. The whole frying stage runs 10–15 minutes. Move the blocks to a serving plate.
  6. Build the sauce in the same pan. Pour off the oil and leave a thin film. Over low heat, sweat the garlic just until fragrant, about 20 seconds. Whisk the light soy, oyster sauce, cornstarch, white pepper, sugar, and the 5 tablespoons of mushroom water until smooth, then pour it in.
  7. Thicken off the heat. Stir constantly. I like to kill the burner once the liquid comes to a simmer and let the pan's residual heat carry the cornstarch to the point where the sauce coats a spoon in a thin, glossy layer. Taking it off direct heat is deliberate: cornstarch thinned and held at a hard boil eventually breaks and thins back out, and you lose the sheen. Spoon the sauce over the tofu, scatter scallions on top, and serve over rice.

When things go wrong (and how I've salvaged them)

The filling falls out in the pan. Almost always because you flipped too early, or the filling was under-mixed and too wet. Next time, let the filled side fry until it lifts on its own. To rescue a batch, scoop the escaped filling into the sauce to make little meatballs and serve them spooned over the tofu.

The tofu splits while carving. The block was too soft, too wet, or you cut the walls too thin. Pat dry before cutting, and leave a thicker floor. A cracked block still cooks; just fill it gently and fry filled-side down to seal it.

The sauce is lumpy or thin. Lumps mean the cornstarch wasn't dispersed before it hit the heat; whisk the slurry cold, then pour. Thin sauce means it never reached a simmer, or you boiled it too long and the starch broke. Either cook it a moment longer on low, or whisk in a teaspoon of fresh cornstarch slurry off the heat and warm gently.

The filling is gray and rubbery. You over-mixed, or used pork that's too lean and pounded it to a paste. Mix only until sticky, and keep some fat in the grind.

Variations and what to serve alongside

Swap the protein. Pork-and-shrimp is my default, but all-pork (with a few rehydrated dried shrimp for depth), ground chicken, or a mushroom-and-tofu vegetarian filling all work. For a vegetarian version, mince extra rehydrated shiitake and fold in some mashed leftover tofu scraps; the texture mimics the meat better than you'd expect. The braised mushroom with bok choy approach to handling dried shiitake is a good reference.

Change the cooking method. Pan-frying gives the best crust, but you can air-fry instead: spray the stuffed blocks lightly with oil and run them at 200°C / 390°F for about 12 minutes, the same move I use for salt and pepper tofu. For something closer to dim sum, steam the stuffed blocks for 8–10 minutes, then pour the sauce over.

On the table, this dish wants plain rice and a vegetable or two. Steamed jasmine rice is the right base. For greens, hot-and-sour napa cabbage or a quick oyster-sauce gai lan cut the richness. A bowl of tofu and vegetable soup turns it into a full meal, and it conveniently uses up any tofu scraps you carved out. If you want a clean, saucy tofu alternative for variety during the week, pan-fried tofu with garlic sauce and mapo tofu are both in the same family.

Storage and reheating

Cooked stuffed tofu keeps in the fridge for up to two days, ideally stored separately from the sauce so the crust doesn't soften. Reheat gently in a covered pan over low heat with a splash of water, or microwave at 60% power in short bursts. The filling reheats better than the crust; expect the surface to lose some of its crunch. I don't recommend freezing cooked stuffed tofu, as the texture turns spongy.

You can prep ahead: carve and stuff the blocks up to a day in advance, keep them covered in the fridge, and fry just before serving. The filling itself can be made a day ahead too.

Frequently asked questions

Can I use silken or soft tofu? No. Silken tofu isn't pressed and collapses the moment you hollow it. Use firm block tofu from an Asian brand; soft and medium-firm will frustrate a first attempt.

Do I have to use dried shiitake? Dried gives much more flavor and the soaking liquid, which becomes the sauce base. Fresh shiitake works in a pinch, but you'll lose depth; compensate with a little vegetable or chicken broth.

Why is my filling falling out? Usually two causes: you flipped before the filled side crusted, or the filling was under-mixed and too wet. Let the meat form a brown crust on medium-low before turning, and stir the filling until it turns tacky.

Is this dish gluten-free? Not as written, because soy sauce and oyster sauce contain wheat. Swap in tamari and gluten-free oyster sauce and the rest of the recipe is fine.

Can I skip the shrimp? Yes. Use 160 g pork total, and add a tablespoon of finely chopped rehydrated dried shrimp for the lost umami.