Thai Hot-and-Sour Fish Soup


In our version of hot-and-sour soup, lemon and lime zest, lime juice, and fresh ginger replace the traditional lemongrass, makrut lime leaves, and galangal. To change the heat level, adjust the number of jalapeños up or down to your taste. Plus:  More Soup Recipes and Tips 

Thai Hot-and-Sour Fish Soup
Photo: © Todd Porter & Diane Cu


  • 1 1/2 tablespoons cooking oil

  • 3 shallots, cut into thin slices

  • 1 tablespoon chopped fresh ginger

  • 5 jalapeño peppers, seeds and ribs removed, peppers cut into thin slices

  • 1 quart canned low-sodium chicken broth or homemade stock

  • 2 cups water

  • Grated zest of 2 lemons

  • Grated zest of 3 limes

  • 1/2 pound mushrooms, quartered

  • 5 tablespoons lime juice (from about 3 limes)

  • 1/4 cup fish sauce

  • 2 pounds swordfish steaks, skinned, cut into approximately 2-by-1-inch pieces

  • 2 tomatoes, cut into large dice (optional)

  • 1/3 cup cilantro leaves (optional)


  1. In a large pot, heat the oil over moderately low heat. Add the shallots, ginger, and jalapeños; cook, stirring occasionally, for 3 minutes. Add the broth and water; bring to a boil. Reduce the heat and simmer for 5 minutes. Stir in the zests and mushrooms; simmer 5 minutes longer.

  2. Add the lime juice, fish sauce, and swordfish to the soup. Cook until the fish is just done, about 2 minutes. Serve sprinkled with the tomatoes and cilantro, if using.


Fish Alternatives: Thai Hot-and-Sour Soup is often made with shrimp. Or, use any moderately firm, skinless steaks or fillets, such as catfish, black sea bass, or pompano, in place of the swordfish.

Suggested Pairing

The strong flavors here suggest a light white without too much taste of its own. A Pinot Grigio from Italy will do fine—unless you increase the heat with more jalapeños. Then serve a cold beer.

Related Articles