Today, I am sharing a recipe that is pure comfort food in my household: Tomato Fish and Tofu Stew (Long Li Yu Dou Fu Bao).

There is something magical about the combination of tomatoes and fish. The natural acidity of the tomato breaks down the fish slightly, making it tender, while the savory umami of the broth soaks into the tofu. In this recipe, I also add King Oyster mushrooms and Enoki mushrooms for texture. It is sour, sweet, savory, and incredibly smooth.
I remember making this for the staff meal at my restaurant once when we had extra fish fillets. It was meant to be a quick throw-together lunch, but the team loved the broth so much they poured it over rice until the pot was scraped clean. It’s vibrant, healthy, and surprisingly fast to make at home.
What Is Tomato Fish and Tofu Stew?
In Chinese, we call this dish Long Li Yu Dou Fu Bao (龙利鱼豆腐煲).

- Long Li Yu (龙利鱼): This refers to “Dragon Tongue Fish” or Dragon Sole. In Western markets, this is almost identical to the texture of Swai, Basa, Flounder, or Sole fillets found in the frozen section.
- Dou Fu (豆腐): Tofu.
- Bao (煲): Usually refers to a stew cooked in a clay pot, though a deep skillet or Dutch oven works perfectly fine in a modern kitchen.
This is a classic home-style dish (Jiachang Cai 家常菜). Unlike complex banquet dishes, this stew relies on the freshness of the tomato and the smooth texture of the fish. It is not spicy, making it kid-friendly, but it has a depth of flavor from sautéing the tomatoes until they break down into a rich sauce.
Why This Recipe Works
- Textural Contrast: The soft, flaky fish and the silky tofu provide a melt-in-your-mouth experience, while the King Oyster mushrooms add a meaty chew and the Enoki mushrooms add a pleasant crunch.
- The “Double Cook” Method: By blanching the fish quickly before adding it to the stew, we remove surface proteins. This keeps the soup clear and prevents the fish from tasting “fishy.”
- Umami Booster: Adding a tablespoon of ketchup might sound like a cheat, but it concentrates the tomato flavor and adds a glossiness to the broth that fresh tomatoes alone can’t achieve quickly.
Key Ingredients & Substitutions
Here is what you need to make this comforting stew.
- Fish Fillets (Long Li Yu): I use 250g (about 1/2 lb) of fish. In the US or Europe, look for Swai, Basa, Tilapia, or Flounder. You want a white fish that is boneless and doesn’t fall apart too easily.
- Tofu: The recipe calls for “slightly old” tofu, which in Chinese terms means Medium Firm or Firm Tofu. You want it to hold its shape in the bubbling broth. If you are confused about which block to buy, please read my guide on Types of Tofu Explained: Silken, Soft, Firm & Extra Firm to choose the right one for this stew.
- Tomatoes: Use ripe, red tomatoes. We will peel them so they melt into the soup.
- Mushrooms: I use King Oyster Mushrooms (sliced) and Enoki Mushrooms. You can substitute these with white button mushrooms or Shiitake if needed.
- Ketchup: A crucial ingredient for color and balancing the acidity.
- Aromatics: Fresh garlic and scallions (green onions).
- Seasonings: Salt, white pepper (for marinating), sugar (to balance the acid), and light soy sauce. If you aren’t sure which soy sauce to use, check out my article on What’s the Difference Between Light and Dark Soy Sauce for a quick explanation.
Recipe Notes Before We Begin
- Difficulty: Easy / Beginner-friendly.
- Prep Time: 15 minutes.
- Cook Time: 15 minutes.
- Flavor Profile: Savory, tangy, slightly sweet, and rich.
Crucial Tip: Treat the tofu gently. If you stir too vigorously, the tofu will break. As I discuss in my article Common Tofu Cooking Mistakes and How to Fix Them, aggressive stirring is the number one enemy of soft bean curd dishes.
Mise en Place & How to Prep
Good preparation makes the actual cooking process stress-free.
- Prep the Fish: Cut the fish fillets into 1.5-inch chunks. Place them in a bowl and marinate with a pinch of salt and white pepper for 10 minutes. This seasons the fish from the inside out.


- Peel the Tomatoes: Cut a shallow “X” on the bottom of the tomato. Drop it into boiling water for 30-60 seconds, then remove. The skin will peel right off. Dice the peeled tomato.


- Prep Vegetables: Wash the King Oyster mushroom and dice it into cubes similar in size to the tofu. Cut the root end off the Enoki mushrooms and tear them into small bunches. Finely chop the garlic and scallions.
- Cut the Tofu: Cube the tofu into 1-inch pieces. If you are using a block that has a lot of water, you might want to learn how to press tofu lightly to improve the texture, though for this soup recipe, heavy pressing is not strictly necessary.

How to Make Tomato Fish and Tofu Stew
Step 1: Blanch the Fish Bring a pot of water to a boil. Add the marinated fish pieces. Let them cook just until they turn white (about 30-45 seconds). Immediately remove them with a slotted spoon and set aside.
- Why? This removes the raw fish smell and ensures the final soup isn’t cloudy with fish proteins.

Step 2: Sauté the Aromatics and Tomatoes Heat about 1 tablespoon of oil in a wok or deep pot over medium heat. Add the chopped garlic and stir-fry until fragrant (about 20 seconds). Add the diced tomatoes. Sauté them patiently until they soften and release their juices.


Step 3: Create the Broth Add the ketchup to the tomatoes and stir well. This boosts the red color. Pour in enough water to create a soup base (about 1.5 to 2 cups, depending on how much soup you want). Season with salt, sugar, and a splash of light soy sauce.

Step 4: Simmer the Tofu and Mushrooms Bring the broth to a boil. Add the cubed King Oyster mushrooms, Enoki mushrooms, and the tofu. Reduce heat to a simmer and let it cook for 3-4 minutes. This allows the tofu to absorb the tomato flavor. This simmering technique is similar to how I cook my Tofu Mushroom Soup with Egg, which also relies on mushrooms to flavor the broth.

Step 5: Finish with Fish Gently slide the blanched fish fillets into the pot. Since the fish is already partially cooked, you only need to simmer for another 1-2 minutes until the fish is cooked through and tender.


Step 6: Serve Taste the broth and adjust salt if needed. Sprinkle with chopped scallions. Serve hot.

Common Mistakes When Making Tomato Fish Stew
Through my testing in the kitchen, here are the most common issues people face with this recipe:
- Overcooking the Fish: Fish fillets like Swai or Sole cook very fast. If you boil them for 10 minutes, they will disintegrate. Add them at the very end.
- Skipping the Tomato Peeling: Leaving the skin on results in curled-up, tough pieces of tomato skin floating in your smooth soup. It ruins the texture.
- Using Soft/Silken Tofu: While delicious, Silken tofu falls apart too easily in a boiling stew. If you want a dish specifically designed for softer tofu, try my Silky Steamed Tofu with Egg instead. For this stew, stick to Medium or Firm.
- Not Sautéing the Tomatoes Enough: You must fry the tomatoes until the oil turns red. If you just boil water and throw tomatoes in, the soup will be thin and watery, lacking that rich umami flavor.
Tips to Succeed
- Balance the Sweet and Sour: Tomatoes vary in acidity. Taste your soup. If it’s too sour, add a little more sugar. If it’s too flat, a drop of vinegar or more ketchup helps.
- The “Bao” Effect: If you have a clay pot (sand pot), serve the stew in it. It retains heat beautifully, keeping the soup bubbling at the table.
- Add More Veggies: This recipe is flexible. You can add baby bok choy or wood ear mushrooms if you like.
How to Serve Tomato Fish and Tofu Stew
This dish is best served steaming hot over a bowl of white jasmine rice. The tomato broth acts as a delicious gravy for the rice.
If you are building a full Chinese family-style meal, this stew pairs wonderfully with dry, savory dishes to balance the moisture. I recommend serving it alongside:
- Pan-Fried Tofu with Minced Pork: For a savory, meaty contrast.
- Crispy Pan-Fried Tofu with Savory Glaze: If you want a textural crunch to go with the soft stew.
- A simple stir-fried green vegetable like garlic bok choy.
Food Safety and Preparation
- Fish Safety: Ensure your fish is fully cooked. According to the USDA, fish should be cooked to an internal temperature of 145°F (63°C). The flesh should be opaque and separate easily with a fork.
- Allergens: This recipe contains Soy (tofu, soy sauce) and Fish. If you are gluten-free, ensure you use a Gluten-Free Soy Sauce or Tamari, as traditional soy sauce contains wheat.
- Storage: This stew keeps well in the refrigerator for up to 2 days. Reheat gently on the stovetop. Avoid freezing, as the texture of the tofu will change and become spongy.
About the Author & Recipe Development
I’m Jason Guo, and I developed this recipe based on the comfort foods I grew up eating in China. In my restaurant, we often look for ways to make tofu exciting. While dishes like Authentic Mapo Tofu rely on heavy spice and numbness, this Tomato Fish Stew relies on the natural sweetness and umami of simple ingredients.
I tested this recipe three times to get the water-to-sauce ratio right. I found that blanching the fish separately (a technique called Fei Shui 飞水) is non-negotiable for a clean-tasting broth. I also experimented with different mushrooms and found that King Oyster mushrooms offer the best “meaty” bite to contrast the soft fish.
Authoritative References
For more information on the handling of seafood and nutrition, I recommend consulting these sources:
- FDA (U.S. Food and Drug Administration): Selecting and Serving Fresh and Frozen Seafood Safely
- USDA (United States Department of Agriculture): Safe Minimum Internal Temperature Chart
Nutrition Information (Estimate)
- Serving Size: 1 bowl (approx. 1/4 of recipe)
- Calories: 210 kcal
- Protein: 22g
- Carbohydrates: 12g
- Fat: 8g
- Sodium: 650mg
- Fiber: 3g
Disclaimer: Nutrition information is calculated using an ingredient database and should be considered an estimate. In cases where multiple ingredient alternatives are given, the first listed is calculated for nutrition. Garnishes and optional ingredients are not included.

Tomato Fish and Tofu Stew (Long Li Yu Dou Fu Bao)
Ingredients
Equipment
Method
- Cut fish into 1.5-inch chunks and marinate with a pinch of salt and white pepper for 10 minutes.
- Score the tomato skin with an X, blanch in boiling water for 1 minute, peel off the skin, and dice.
- Cut tofu and King Oyster mushrooms into cubes; trim roots off Enoki mushrooms and wash.
- Boil a pot of water, blanch the marinated fish for 30-45 seconds until the surface turns white, then remove and set aside.
- In a wok or pot, heat oil and sauté minced garlic until fragrant.
- Add diced tomatoes and stir-fry until they soften and release juice; stir in ketchup to combine.
- Pour in water, add sugar, soy sauce, and remaining salt to taste.
- Bring to a boil, add tofu, King Oyster mushrooms, and Enoki mushrooms; simmer for 3-4 minutes.
- Gently add the blanched fish and simmer for another 1-2 minutes until cooked through.
- Garnish with chopped scallions and serve hot.
Notes
Vegetarian Option: You can omit the fish and double the mushrooms for a delicious vegetarian tofu stew.
Nutrition Disclaimer: Nutrition information is calculated using an ingredient database and should be considered an estimate. Garnishes and optional items are not included. Actual values vary.















