A bright, restorative fish soup from Jalisco built on a gentle guajillo-tomato broth and loaded with seasonal vegetables. Whole catfish pieces finish the soup right at the end so they stay tender and flaky. Lime, avocado, and warm tortillas make it a meal.
Prep Time20 mins
Cook Time35 mins
Total Time55 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 385 kcalCalories
- 12 gFat
- 2.5 gSaturated Fat
- 32 gCarbs
- 6 gFiber
- 7 gSugar
- 34 gProtein
- 620 mgSodium
- 1100 mgPotassium
- 95 mgCalcium
- 3 mgIron
- 38 mgVitamin C
- 280 mcgVitamin A
Ingredients
For the chile-tomato broth
- 2 dried guajillo chiles, stemmed and seeded
- 1 dried ancho chile, stemmed and seeded
- 2 Roma tomatoes, halved
- 1/2 white onion, roughly chopped
- 2 garlic cloves, smashed
- 6 cups water
- 1 tsp kosher salt, plus more to taste
For the soup
- 1.5 lb catfish fillets, cut into 2-inch pieces
- 2 medium carrots, peeled and sliced into 1/4-inch rounds
- 2 medium Yukon gold potatoes, cut into 1/2-inch cubes
- 1 chayote, peeled and cut into 1/2-inch cubes
- 1 medium zucchini, sliced into 1/2-inch half moons
- 1 ear fresh corn, shucked and cut into 1-inch rounds
- 2 sprigs fresh epazote
- 1/4 cup chopped fresh cilantro
For serving
- 1 lime, cut into wedges
- 1 ripe avocado, sliced
- 1/4 cup finely diced white onion
- 8 warm corn tortillas
Directions
- Toast the guajillo and ancho chiles in a dry skillet over medium heat for about 30 seconds per side until fragrant and just starting to darken; transfer to a heatproof bowl, cover with 1 cup of boiling water, and soak for 10 minutes until softened.
- Drain the chiles (reserving the soaking liquid) and transfer them to a blender with the tomatoes, onion, garlic, and 1/2 cup of the soaking liquid. Blend on high until completely smooth, then press through a fine-mesh sieve into a bowl and discard the solids.
- In a large Dutch oven or soup pot, bring the 6 cups of water to a boil. Stir in the strained chile-tomato sauce and 1 teaspoon of salt, then reduce the heat and simmer for 10 minutes to let the flavors meld.
- Add the carrots and potatoes to the simmering broth and cook for 8 minutes, until they are just beginning to become tender. Add the chayote and zucchini and continue to simmer for 4 minutes more.
- Season the catfish pieces lightly with salt and nestle them into the broth along with the corn rounds and epazote sprigs. Simmer gently for 6 to 8 minutes, without stirring aggressively, until the catfish flakes easily with a fork.
- Stir in the chopped cilantro, taste, and adjust with more salt if needed. Remove from the heat and let the soup rest for 2 minutes so the fish absorbs the broth.
- Ladle the soup into deep bowls, distributing the fish and vegetables evenly among them. Top each bowl with avocado slices and a small pinch of diced onion, and serve immediately with lime wedges and warm corn tortillas on the side.
Cook’s Notes
- If you can find small whole catfish, use them instead of fillets for a deeper, more traditional flavor; just scale, gut, and portion them before adding to the broth.
- Do not let the soup boil once the fish is added or it will break apart; keep it at a bare simmer so the pieces stay intact.
- Epazote adds the classic earthy note; if you cannot find it, substitute a small handful of fresh cilantro added at the very end.
- For a thicker broth, mash a few of the potato cubes against the side of the pot before serving; they will release their starch and lightly bind the soup.
- Leftover broth keeps well in the refrigerator for 2 days; store the fish separately and add it back when reheating so it does not overcook.










