Home › Recipes › Soup › Authentic Tomato Fish Soup (Tangy & Comforting Fan Qie Yu)

Authentic Tomato Fish Soup (Tangy & Comforting Fan Qie Yu)

I am Lin, and today I want to share one of my absolute favorite comfort foods: Tomato Fish, or Fan Qie Yu. If you love the delicate texture of perfectly poached fish but prefer a tangy, vibrant broth over the fiery heat of Sichuan water-boiled fish, this recipe is for you.

When I make this at home, the aroma of fresh tomatoes simmering down into a rich broth fills the kitchen. It is an incredibly nourishing and healthy dish that relies on the natural sweetness and acidity of ripe tomatoes rather than heavy artificial sauces. Let’s dive into how to make this restaurant-quality dish right in your own kitchen.

Tomato Fish Soup

What Is Tomato Fish (Fan Qie Yu)?

Tomato Fish (Fan Qie Yu, 番茄鱼) is a popular Chinese dish featuring thinly sliced fish fillets poached in a vibrant, slightly tart, and deeply savory tomato broth. Unlike its famous cousin, Suan Cai Yu (Sichuan Fish with Pickled Mustard Greens), this dish is generally mild, making it a fantastic option for families and children.

Short on time or cooking for kids? If you love the rich, sweet and sour flavors of this authentic soup but need to get dinner on the table in a hurry, I highly recommend checking out my Easy Tomato Basa Fish. It’s a 15-minute, incredibly kid-friendly version that uses boneless fillets and a clever pantry hack to build a comforting broth in a fraction of the time!

1
Tomato Basa Fish
Easy Tomato Basa Fish (Fan Qie Yu)
An easy, sweet, and tangy Chinese tomato basa fish stew ready in just 15 minutes. A kid-friendly, comforting weeknight dinner.
Check out this recipe

The secret to a great Fan Qie Yu lies in two things: a milky, emulsified fish bone broth for depth, and using heavily ripened fresh tomatoes rather than relying solely on ketchup.

If you love the flavor profile of this dish, I highly recommend checking out my Tomato Fish and Tofu Stew, which incorporates silken tofu for an even heartier meal!

Tomato Fish Soup

Ingredients

For the Fish and Marinade:

  • White Fish (Snakehead, Tilapia, or Sea Bass): 2.2 lbs (1 kg). Note: Snakehead fish is traditional for its firm texture and lack of small bones, but fresh tilapia or sea bass work wonderfully.
  • Salt: 2 tsp (divided – 1 tsp for washing, 1 tsp for marinading).
  • Shaoxing Wine: 4 tbsp (60 ml) (divided – for washing and marinading).
  • Egg White: 1 large.
  • White Pepper: 1/4 tsp.
  • Cornstarch: 1 tbsp (15 g).

For the Tomato Broth:

  • Fresh Tomatoes: 1.1 lbs (500 g). Choose the reddest, heaviest, and softest tomatoes you can find for the highest lycopene content and best flavor.
  • Ginger: 4 slices (minced).
  • Garlic: 4 cloves (minced).
  • Cooking Oil: 2 tbsp (30 ml).
  • Boiling Water: 4 cups (960 ml).
  • Oyster Sauce: 1 tbsp (15 ml).
  • Salt: 2 tsp (10 g).
  • Sugar: 1 tbsp (12 g).
  • Fresh Lemon: 1/2 (for juicing at the end).

For the Garnish (Optional but Recommended):

  • Sichuan Peppercorns: 20 whole peppercorns.
  • Scallions: 2 stalks (finely chopped).
  • White Sesame Seeds: 1 tsp.
  • Pickled Peppers: A small handful (if you prefer a spicy kick).
Tomato Fish Soup

Equipment Needed

  • A sharp boning knife or chef’s knife.
  • A large wok or heavy-bottomed skillet.
  • A heatproof spatula.

Prep & Mise en Place

  • Fillet and Clean: Ask your fishmonger to fillet the fish and give you the bones, or do it yourself. Remove the ribs from the fillets and slice the meat at a 45-degree angle into 1/4-inch (6 mm) thick slices. Chop the fish bones into 2-inch chunks.
  • The Crucial Wash: Place the fillets and bones in two separate bowls. Add 1 tsp of salt and 2 tbsp of Shaoxing wine to each bowl. Gently massage the fish for 1-2 minutes. Rinse under cold water until the water runs completely clear. This step is vital for removing the muddy, fishy taste and excess blood.
  • Dry and Marinate: Pat the fillets completely dry with paper towels. In a bowl, combine the fillets, egg white, 1 tsp salt, 1 tbsp Shaoxing wine, and white pepper. Stir vigorously in one direction until the mixture turns sticky. Add the cornstarch and mix again to lock in the moisture. Marinate for 20 minutes.
  • Prep the Tomatoes: Score an “X” on the bottom of each tomato. Blanch in boiling water for 60 seconds, then peel off the skin. Dice the tomatoes into small cubes. Mince your ginger and garlic.

Cooking Process

  • Sear the Bones (5-7 minutes): Heat 1 tbsp of oil in your wok over medium-high heat. Add the dried fish bones and sear until golden brown on one side (about 3 minutes). Flip and push to one side. Add the minced ginger and garlic to the empty space in the pan and sauté for 30 seconds until fragrant.
  • Create the Milky Broth (5 minutes): Pour 4 cups of boiling water carefully into the wok. Add 1 tbsp of Shaoxing wine. Maintain a rapid boil for 3 to 5 minutes. Skim off any foam that rises to the top.

Chef’s Note: Boiling the seared fish bones rapidly over high heat forces the fat from the oil and fish to emulsify with the water and dissolved proteins. This creates a rich, opaque, milky-white broth that forms the savory backbone of this dish.

Create the Milky Broth (5 minutes)
  • Strain and Reserve: Once the broth is milky white, use a slotted spoon or spider to remove all the bones. Place the bones at the bottom of your serving bowl. Reserve the broth in a separate container.
Strain and Reserve
  • Build the Tomato Base (5-8 minutes): Wipe the wok clean, add 1 tbsp of oil over medium heat. Add the diced tomatoes (and pickled peppers, if using). Stir-fry continuously, pressing down on the tomatoes with your spatula until they break down into a soft, mushy paste.
Build the Tomato Base (5-8 minutes)
  • Combine and Season: Pour the reserved milky fish broth into the tomato paste. Bring to a gentle simmer. Add the oyster sauce, salt, and sugar. Taste and adjust.
  • Poach the Fish (1-2 minutes): Turn the heat down to low so the broth is barely simmering (around 190°F/88°C). Gently slide the marinated fish fillets into the broth one by one so they don’t clump. Let them sit undisturbed for 30 seconds to allow the starch to set, then gently push them with the back of your spatula. Cook for just 1 to 1.5 minutes until the fillets turn opaque white. Do not overcook!
Poach the Fish (1-2 minutes)
  • The Final Sizzle: Carefully transfer the fish and broth into your serving bowl over the bones. Top with scallions, sesame seeds, and Sichuan peppercorns. Heat 1 tbsp of oil in a small pan until smoking hot, then carefully pour it over the aromatics to release their essential oils.
  • The Secret Ingredient: Squeeze the juice of half a fresh lemon directly over the dish right before serving. This brightens the entire soup and elevates the natural tomato flavor.

Why This Recipe Works

  • Natural Tomato Base: Many takeout versions rely heavily on processed ketchup. Taking the time to pan-fry fresh, ripe tomatoes extracts their natural glutamates and lycopene, offering a far superior, authentic taste.
  • The Egg White Velveting: Coating the fish in egg white and cornstarch (a technique known as velveting) protects the delicate proteins from the harsh heat, ensuring melt-in-your-mouth tenderness.
  • Lemon Juice Finish: The fresh citrus cuts through the richness of the fish bone broth, providing a clean, vibrant finish that vinegar simply cannot replicate.

Common Mistakes When Making Fan Qie Yu

  • Murky, Fishy Broth: Cause: Skipping the salt and wine wash. Solution: Always wash your fish slices until the water runs completely clear to remove residual blood.
  • Broken, Mushy Fish Fillets: Cause: Stirring the wok too vigorously immediately after adding the fish. Solution: Allow the fillets to poach undisturbed for at least 30 seconds so the starch coating sets before gently moving them.
  • Bland Tomato Flavor: Cause: Using pale, underripe tomatoes or not cooking them down enough. Solution: Use the reddest tomatoes you can find and cook them until they resemble a paste before adding the broth.

Variations

  • Spicy Tomato Fish: If you love heat, add a spoonful of Chinese Chili Oil and a handful of chopped Sichuan pickled peppers when frying the tomatoes.
  • Vegetable Add-ins: You can easily add enoki mushrooms, blanched bok choy, or sliced tofu into the broth right before adding the fish fillets.

Frequently Asked Questions

Can I use frozen fish fillets? Yes, but thaw them completely in the refrigerator overnight. Be sure to pat them extra dry with paper towels before marinating, as frozen fish tends to hold excess water.

Do I have to add ketchup? Absolutely not! If your tomatoes are ripe and red enough, you don’t need any ketchup. I prefer the clean, natural taste of pure tomatoes.

Can I make the broth ahead of time? Yes! You can fry the fish bones, make the milky broth, and cook down the tomatoes a day in advance. Keep it in the fridge. When you are ready to eat, bring the broth to a simmer and poach your freshly marinated fish fillets.

How to Serve

This dish is incredibly saucy and demands a big bowl of steamed jasmine rice to soak up the tangy broth. For a complete meal, I love pairing it with a refreshing, crisp Smashed Cucumber Salad to balance the richness. If you want another soup option for a larger gathering, my Easy Fish Head and Tofu Soup is another wonderful seafood choice.+1

Storage & Reheat

  • Refrigeration: Store leftovers in an airtight container in the fridge for up to 2 days.
  • Reheating: Gently reheat on the stovetop over medium-low heat until the fish reaches an internal temperature of 145°F (63°C). Avoid rapid boiling, or the fish will become rubbery.
  • Freezing: I do not recommend freezing this dish once fully assembled, as the texture of the poached fish will degrade significantly.

Allergen Notice

  • Fish
  • Soy (If substituting oyster sauce with a soy-based alternative)
  • Sesame (Garnish)

About the Author & Recipe Development

I am Lin, the primary recipe developer and author behind Woks of Love. This Tomato Fish recipe is a staple in my home kitchen. After testing various restaurant techniques, I found that the traditional method of emulsifying the fish bones before introducing the tomatoes creates a depth of flavor that is simply unbeatable. I rely on my years of home cooking and continuous refinement to ensure these recipes are practical, safe, and easily reproducible in a standard Western kitchen.

Authoritative References

Tomato Fish Soup

Authentic Tomato Fish Soup (Fan Qie Yu)

Lin
A comforting and tangy Chinese fish stew featuring tender, velveted fish fillets poached in a rich, naturally sweet tomato and fish bone broth. No ketchup required!
Prep Time 30 minutes
Cook Time 20 minutes
Marinating Time 20 minutes
Total Time 50 minutes
Course Main Course, Soup
Cuisine Chinese
Servings 4 servings
Calories 280 kcal

Equipment

  • Wok or Heavy Skillet
  • Slotted Spoon or Spider

Ingredients
  

Fish and Marinade

  • 2.2 lbs white fish (Snakehead, Tilapia, or Sea Bass) filleted, bones reserved
  • 2 tsp salt divided
  • 4 tbsp Shaoxing wine divided
  • 1 large egg white
  • 0.25 tsp white pepper
  • 1 tbsp cornstarch

Tomato Broth

  • 1.1 lbs fresh tomatoes ripe and red
  • 4 slices ginger minced
  • 4 cloves garlic minced
  • 2 tbsp cooking oil
  • 4 cups boiling water
  • 1 tbsp oyster sauce
  • 1 tbsp sugar
  • 0.5 fresh lemon for juice

Garnish

  • 20 whole Sichuan peppercorns optional
  • 2 stalks scallions chopped
  • 1 tsp white sesame seeds

Instructions
 

  • Slice the fish into 1/4-inch fillets and chop the bones. Wash both thoroughly with 1 tsp salt and 2 tbsp Shaoxing wine until the water runs completely clear to remove fishy odors.
    The Crucial Wash: Place the fillets and bones in two separate bowls. Add 1 tsp of salt and 2 tbsp of Shaoxing wine to each bowl. Gently massage the fish for 1-2 minutes. Rinse under cold water until the water runs completely clear.
  • Pat the fillets dry. Marinate with the egg white, 1 tsp salt, 1 tbsp Shaoxing wine, and white pepper. Stir in one direction until sticky, then mix in the cornstarch. Let sit for 20 minutes.
    Dry and Marinate
  • Score the tomatoes, blanch for 60 seconds to peel, and dice them into small pieces.
    Prep the Tomatoes: Score an "X" on the bottom of each tomato. Blanch in boiling water for 60 seconds, then peel off the skin. Dice the tomatoes into small cubes. Mince your ginger and garlic.
  • Heat 1 tbsp oil in a wok. Fry the fish bones until golden brown on both sides. Add minced ginger and garlic to the pan and fry until fragrant.
    Sear the Bones (5-7 minutes)
  • Carefully pour in 4 cups of boiling water and 1 tbsp Shaoxing wine. Boil rapidly over high heat for 3-5 minutes until the broth turns milky white. Skim any foam. Remove the bones to a serving bowl and reserve the liquid.
    Create the Milky Broth (5 minutes)
  • In the wok, heat 1 tbsp oil and stir-fry the diced tomatoes until they break down into a soft paste.
    Poach the Fish (1-2 minutes)
  • Pour the reserved fish broth into the tomatoes. Season with oyster sauce, salt, and sugar. Bring to a gentle simmer.
  • Lower the heat to a bare simmer (around 190°F/88°C). Gently drop the fish fillets into the broth one by one. Wait 30 seconds before gently moving them. Poach for 1-1.5 minutes until opaque. Do not overcook.
    The Final Sizzle: Carefully transfer the fish and broth into your serving bowl over the bones. Top with scallions, sesame seeds, and Sichuan peppercorns. Heat 1 tbsp of oil in a small pan until smoking hot, then carefully pour it over the aromatics to release their essential oils.
  • Transfer the soup and fish over the bones in your serving bowl. Top with scallions, sesame seeds, and Sichuan peppercorns. Pour 1 tbsp of smoking hot oil over the garnishes.
    The Final Sizzle: Carefully transfer the fish and broth into your serving bowl over the bones. Top with scallions, sesame seeds, and Sichuan peppercorns. Heat 1 tbsp of oil in a small pan until smoking hot, then carefully pour it over the aromatics to release their essential oils.
  • Squeeze the juice of half a lemon over the dish immediately before serving.
    Tomato Fish Soup

Notes

💡 Safety Reminder: Ensure fish reaches a safe internal temperature of 145°F (63°C) before consumption.
Nutrition Disclaimer: Nutrition information is an estimate and provided for informational purposes only.
Keyword Chinese fish soup, Fan Qie Yu, Fish Soup, Tomato Fish, tomato fish recipe
Lin Avatar

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating





You’ll also love