Hot and Sour Tomato Fish Soup

It is a very tropical, fresh, and addictive recipe. Taste a bit like Thai food Tom Yum Soup, very spicy and intense.

Print Recipe
4 from 2 votes

Hot and Sour Tomato Fish Soup [酸辣番茄鱼]


Ingredients For The fish marinade

Ingredients For The Fish Broth

Ingredients For The Soup

  • 1 tbsp of oil
  • Half of a red onion diced
  • 4 cloves of garlic grated
  • Few slices of ginger
  • 4 pieces of the white part of the scallion
  • Some hot chilies optional
  • 1.5 tbsp of tomato paste
  • 4 small size tomato about 400 grams, less than a pound, peeled and diced
  • 2 cups of the fish broth or store-bought chicken broth
  • 1/2 pound of the fish that we marinade
  • 2-3 tbsp of sugar to your taste
  • 3-4 tbsp of lime juice
  • 1 tsp +1/4 tsp salt


  • I used 1.2 pounds of fish. After filleted them. I got about 1/2 pound of fish meat and 1/2 pound of fish bone. We will use them separately. (Any white fish will work fine for this recipe. Such as sea bass, mullet, walleye...). If you don’t know how to fillet the fish, ask your butcher to help you or watch the video to learn. Preparing fish is not very pleasant so it is fine to just go buy the fish fillet that is already done.
  • Cut the fish meat into big pieces. Marinate it with 1/2 tbsp of cornstarch, 1 tsp of grated ginger, 1 tbsp of Chinese cooking wine, 1/4 tsp of white pepper, black will work as well; salt to taste, I used a little bit more than 1/4 tsp. Mix it with your hand and set it in the fridge.
  • Use the fish bones to make a broth. Add the bones to a soup pot, along with some green onion, few slices of ginger, 1 tbsp of Chinese cooking wine, some white pepper that I slightly crushed it. You can also use black pepper. Pour in 3 cups of water. Cover it. Bring this to a boil. Turn the heat to low. Simmer it for 30 minutes.If you bought the fish meat that is already fillet, which doesn’t come with the bone, you can just use chicken stock. No a big problem.
  • While that is cooking, we can prepare other ingredients. Peel and dice 4 small tomatoes. You can also use can tomato puree. But I like fresh tomatoes. Also, I think diced tomato gives the soup much more texture as well.
  • Besides that, I also prepared some red onion, grated garlic, few slices of ginger, few pieces of the white portion of the green onion. I like my soup to be spicy. So I used a few pieces of chilies. The original recipe is not spicy, it is my twist, so It is completely optional. Or you can adjust the heat level according to your own preference. Just simple diced them finely so they can distribute well into the soup.
  • Heat up your wok or you can use a large pot, add some oil. Dump in all the aromatics along with 1.5 tbsp of tomato paste. Stir until fragrant and wait for the onion becomes translucent. Add the diced tomato in. Keep cooking it on medium heat. In about 4 or 5 minutes, all the tomato should be soft and the liquid starts appearing.
  • By now, the fish broth should be done. Drain it. You should get about 2 cups of broth. If you have less than that, you can add more water. No a problem. Pour that to the wok. As I mentioned before, if you want this dish to be easy, store-bought chicken stock is a good option. Bring this to a boil then add in the fish meat. Stir to make sure the meat doesn’t stick together. Cooked them for about 15 seconds and we are ready to season this soup: 1 tsp + 1/4 tsp of salt, 2 - 3 tbsp of sugar, depends on your taste, 3-4 tbsp of lime juice. Add it in batches so you can adjust the flavor. Turn off the heat immediately because you don’t want to cook the lime. The original recipe doesn’t have lime juice. It is another twist that I did in this recipe. It adds so much freshness and citric to the soup.
  • Give it a try to see if it fits your taste. You want to find a perfect balance between the sourness and sweetness. Serve it in a big bowl and add some cilantro as garnish. It is great to go with white rice, very healthy and flavorful.



No Comments Yet

Comments are closed