Vietnamese Stuffed Tofu Recipe with Tomato Sauce

Updated November 4, 2026

Total time
55 min
prep 25 min · cook 30 min
Serves
4
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece

Jump to recipe

Vietnamese Stuffed Tofu Recipe with Tomato Sauce

Vietnamese stuffed tofu, often served with tomato sauce, pairs crisp-edged tofu pockets with a savory ground-pork filling and a bright, gently sweet sauce. It is a comforting home-style dish that goes especially well with rice; family versions vary in their seasoning and in how much sauce they serve alongside the tofu.

Ingredients

  • Two 14-ounce blocks (800 g total) firm tofu, drained
  • 8 ounces (225 g) ground pork
  • 1/4 cup (40 g) finely chopped yellow onion
  • 2 garlic cloves (about 6 g), finely minced
  • 1 tablespoon (15 ml) fish sauce
  • 1 teaspoon (5 ml) soy sauce
  • 1/4 teaspoon (0.5 g) ground black pepper
  • 2 tablespoons (30 ml) neutral cooking oil, divided
  • 1 pound (450 g) ripe tomatoes, diced; about 3 medium tomatoes
  • 1/2 cup (120 ml) water
  • 1 teaspoon (4 g) granulated sugar
  • 1/2 teaspoon (3 g) fine salt, plus more to taste
  • 2 scallions (about 15 g), thinly sliced
  • 1/4 cup (10 g) chopped cilantro, for serving (optional)

Instructions

  1. Drain the tofu. Set the tofu blocks on a plate lined with a clean towel or paper towels. Cover them with another towel and place a small plate or light weight on top for 10 minutes. This removes surface moisture so the tofu is easier to handle and browns more evenly; avoid pressing hard enough to crack the blocks. While it drains, prepare the filling ingredients and dice the tomatoes.
  2. Cut and fill the tofu. Cut each block into 4 equal pieces, for 8 pieces total. With a small, sharp knife, make a slit along one side of each piece to form a pocket, taking care not to cut through the opposite side or the bottom. Mix the pork, onion, garlic, fish sauce, soy sauce, and black pepper in a bowl until evenly combined. Divide the filling among the pockets, pressing it in gently without stretching or splitting the tofu. Keep the filling level with the pocket opening so it cooks through evenly.
  3. Brown the stuffed tofu. Heat 1 tablespoon (15 ml) of oil in a wide, lidded skillet over medium heat. Arrange the tofu in one layer, with the pocket openings facing up when possible. Cook for about 4 minutes, carefully turn each piece with a thin spatula or tongs, and brown the other side for about 4 minutes. The tofu may not brown evenly on every surface; prioritize a stable, golden base rather than trying to turn it repeatedly. Transfer the pieces to a plate.
  4. Start the tomato sauce. Add the remaining 1 tablespoon (15 ml) oil to the skillet. Add the diced tomatoes and salt, then cook for 3 to 4 minutes, stirring and lightly pressing some tomato pieces until they begin to soften and release juice. Stir in the water and sugar, scraping up browned bits from the pan. Taste a small spoonful of sauce; it should be savory and lightly sweet, with the tomatoes still providing most of the flavor.
  5. Simmer until the filling is safe to eat. Nestle the tofu pieces into the tomato sauce with the filling side up. Cover the skillet and simmer gently for 15 minutes, turning the heat down if the sauce boils hard. Check the center of the pork filling in a thick piece with an instant-read food thermometer. Ground pork must reach the USDA FSIS safe minimum internal temperature of 160°F (71°C). If it has not reached that temperature, cover and simmer for another few minutes, then check again. Add a splash of water if the sauce becomes too thick before the filling is done.
  6. Finish and serve. Taste the sauce and adjust the salt if needed. Spoon it around and over the tofu, then scatter sliced scallions and cilantro on top. Serve hot, with plenty of sauce for the rice. The finished sauce should be spoonable rather than watery; if it seems thin, lift out the tofu and simmer the sauce uncovered for a few minutes before returning the pieces to the pan.

Tips

  • Choose tofu that holds its shape. Firm tofu is the most reliable choice for cutting pockets and simmering in sauce. Extra-firm tofu also works, though it can be slightly drier and may need a longer press. Soft or silken tofu is too delicate for this method. If your tofu is sold in large, water-packed blocks, drain it well and handle each piece with a wide spatula.
  • Keep the filling loose enough to cook through. Mix the pork just until the seasonings and aromatics are distributed. Packing it very tightly into the pockets can make the center cook more slowly, while overfilling can split the tofu as it simmers. If a pocket tears, patch it with a piece of tofu if possible and place the opening upward in the pan.
  • Adjust the sauce to your tomatoes. Very ripe tomatoes make a juicier, sweeter sauce; less-ripe ones may need a little more simmering and a pinch more sugar. Fish sauce is a traditional savory seasoning here. For a fish-free substitute, use an equal amount of soy sauce, understanding that the sauce will taste less rounded and slightly more like soy.
  • Use a gentle simmer, not a rolling boil. Vigorous bubbling can break the tofu and make the filling shift out of the pockets. Keep the lid on during most of the cooking so the pork cooks in the moist tomato sauce, then uncover briefly at the end if you want a thicker sauce.

Serving Suggestions

Serve the tofu and tomato sauce over steamed jasmine rice or another plain long-grain rice. Rice soaks up the savory tomato juices and makes the meal feel complete without competing with the fish sauce, pork, and garlic. For a lighter plate, serve smaller portions of rice with a bowl of clear vegetable soup or a simple plate of sliced cucumber.

A crisp, lightly dressed vegetable side is a good contrast to the soft tofu and rich filling. Try blanched greens, sautéed water spinach, or steamed bok choy with a little garlic. If using a salty dipping sauce at the table, taste the tomato sauce first; the dish is already seasoned with fish sauce and soy sauce, so an additional dip may not be needed. A little extra scallion or cilantro adds freshness, but the dish is also good without herbs.

Variations

Make it without pork: Replace the ground pork with 8 ounces (225 g) finely chopped mushrooms or a plant-based ground alternative. Mushrooms release water as they cook, so sauté them with the onion until that moisture evaporates before stuffing the tofu. Season the mixture with soy sauce; a small amount of vegetarian mushroom seasoning can add savory depth. If using a packaged plant-based filling, check its cooking directions and cook it as required rather than assuming the pork timing applies.

Use a different protein: Ground chicken or turkey can replace the pork in the same quantity. Because these are poultry, check the center of the filling and cook to 165°F (74°C), the USDA FSIS safe minimum temperature for poultry. Ground beef may also be used, and should reach 160°F (71°C). Keep the seasoning and sauce the same, then adjust the final salt to taste.

Change the tomato texture: For a smoother sauce, grate the tomatoes on the large holes of a box grater, discarding the skin left in your hand, or briefly crush the cooked tomatoes with a spoon. Canned diced tomatoes can stand in when fresh tomatoes are out of season; use 1 can, about 14.5 ounces (411 g), and reduce the added water to 1/4 cup (60 ml) because canned tomatoes already contain liquid. The sauce will have a more uniform, less fresh tomato flavor.

Storage and Reheating

Refrigerate leftovers within 2 hours of cooking, storing the tofu and sauce together in a covered, shallow container. They keep for 3 to 4 days in the refrigerator. For best texture, cool the dish promptly rather than leaving the skillet on the counter until it reaches room temperature. If you will not eat the leftovers within that time, freeze them in a freezer-safe container; the tofu may become a little more porous and spongy after thawing, but the flavor remains suitable for a sauced dish.

Reheat a serving in a covered skillet over low to medium-low heat with a tablespoon or two of water, turning the tofu gently and heating until steaming throughout. You can also microwave it in a covered, microwave-safe dish, pausing once to stir the sauce and rotate the pieces. Reheated leftovers should reach 165°F (74°C). Thaw frozen portions in the refrigerator before reheating for more even warming, and avoid repeatedly cooling and reheating the same batch.

Frequently Asked Questions

Can I make Vietnamese stuffed tofu ahead?
You can mix the filling and prepare the tomatoes up to a day ahead, keeping them in separate covered containers in the refrigerator. For the best texture, cut and fill the tofu shortly before cooking. You can also cook the complete dish ahead and refrigerate it; reheat it gently in its sauce until it reaches 165°F (74°C).

How can I keep the tofu from breaking?
Use firm or extra-firm tofu, drain it gently, and cut pockets with a small sharp knife rather than slicing all the way through. Do not overfill the pockets, and turn the pieces only when they release easily from the pan. Once the sauce is added, keep it at a gentle simmer and move the tofu as little as possible.

Can I use store-bought fried tofu?
Yes, if the pieces are large enough to cut or open into pockets. Fried tofu can be firmer and less likely to break, but its surface is already browned, so it does not need the full browning time in step 3. Brown it briefly, fill it carefully, and simmer until the pork filling reaches 160°F (71°C).

What can I use instead of fish sauce?
Use an equal amount of soy sauce for a straightforward substitute. The result will still be savory, but it will lack some of the fermented, rounded flavor that fish sauce brings. A vegetarian mushroom seasoning or a small splash of light soy sauce can also work; add it gradually because salt levels vary by product.

Can I freeze the cooked tofu?
Yes. Cool and freeze it with the sauce in a sealed freezer-safe container, ideally in meal-size portions. For best quality, use it within about 2 months. Thaw it in the refrigerator, then reheat until it reaches 165°F (74°C); expect the tofu to be softer and more porous after freezing.

Why is my tomato sauce too thin or too sour?
Tomatoes vary in juiciness and acidity. If the sauce is thin after the tofu is cooked, remove the pieces and simmer the sauce uncovered until it reduces to the consistency you like. If it tastes too sharp, stir in a small pinch of sugar, taste, and repeat only as needed; adding a large amount at once can make the sauce overly sweet.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).