Mexican Fish Soup

Cooking fish soup by the river is one of the most fulfilling experiences in rural Mexico. Beyond its comforting, delicious flavor, it’s also a dish that shines in presentation—catching the eye before winning the heart.
This soup is full of tradition, joy, and flavor, and you’re sure to love making it as much as eating it.
Types of fish you can use
- Catfish
- Tilapia
- Snapper
Vegetables
Mexican soups are hearty and packed with vegetables. Walk into a Mexican store, and you’ll likely find pre-packed trays of vegetables and herbs ready for soup making.
Yes, we take soup seriously—but the best part is you can freestyle with your favorite ingredients. Here are some examples:
- Mexican squash “Calabazita”
- Zucchini
- Corn on the cob
- Green beans
- Potatoes
- Carrots
- Chayote
- Cabbage
- Cassava “yuca”
- Jalapeños
Flavor in this soup
- Red Bell Pepper: Since it’s ripe, it add a touch of sweetness.
- Chipotle Pepper “Meco”: smoky with less sweetness than other chipotle peppers.
- Guajillo Pepper: mild in heat. Its low key flavor allows it to pair with other peppers without over powering the dish.
- Epazote: Pungent flavor, with oregano, citrus tones. Wonderful rustic flavor.
Enjoyed the video? Subscribe and tap the bell for updates on new recipes. Thank you for your support!

Mexican Fish Soup
Ingredients
Chiles
Sauce
- 2 tbsp avocado oil
- 1/2 medium white onion, roughly diced
- 6 garlic cloves, peeled
- 1 red bell pepper, roughly diced
- 14 oz roma tomatoes, roughly diced
Spices
- 2 tsp dried Mexican oregano
- 1 1/2 tsp smoked paprika
- 1/2 tsp black peppercorns
- 1/2 tsp cumin seeds
- 1/2 tsp ground turmeric
- 1/2 tsp dried thyme
- 4 cloves
Liquids
- 2 cups water
Vegetables
- 3 tbsp avocado oil
- 12 oz green beans
- 1 calabacita, or zucchini
- 1 chayote
- 2 corn on the cob
- 9 cups water
Herbs
- 2 bay leaves
- 1/2 bunch cilantro
- 4 sprigs mint or hierba buena
- 4 sprigs epazote leaves
Fish
- 3 lbs whole catfish, skinless (5 pieces)
Salt
- 1 tbsp 1 tsp kosher salt
Toppings
- Red or white onion, chopped
- Cilantro, chopped
- Serrano or jalapeño, chopped
- Lime juice, squeeze
Pair With
- Corn tortillas
Instructions
- Prep/toast the dried pepper: Remove the stem and seeds from the guajillo peppers. Toast both the guajillos and chipotle “meco” peppers on a comal over medium-low heat. Turn continuously, don’t let them burn. Remove from the heat as soon as they release their fragrance. Rinse and drain. Set them aside until needed.
- Place a pan over medium-low heat, and heat the oil. Once hot, sauté the onions, bell pepper and garlic until slightly softened. Stir as needed. Then increase the heat to medium and add the tomatoes. Cook them for a few minutes, so they can soften and release all their juices. Then, stir in the spices. Cook for one minute as you stir continuously. Now, carefully pour in the water and stir to combine. Increase the heat to medium-high. When boiling, turn off the heat and submerge the prepped/toasted peppers in the boiling mixture. Allow the peppers to rehydrate, about 5-10 minutes. Meanwhile, prep the veggies.
- Prep the veggies: Cut all veggies; as even in size as possible, so they can cook evenly. Mexican squash: remove the ends, and dice into bite size pieces. Chayote: Dice into bite size pieces (peel the skin before dicing if you want to) Corn on the cob: cut into 4 sections Green beans: remove the stem and keep the curled tip. Cut into 3 sections. *** Set all the veggies aside until needed ***
- Sauce: Remove the chipotle pepper from the tomato mix. Open it up, use kitchen gloves if needed and remove the seeds. Blend the tomato mixture with the hydrated guajillos and chipotle pepper until completely smooth. Strain if needed. Set aside for now.
- Prep the fish: cut the fish into medium size pieces. For a medium size catfish, cut in half. Don’t cut them too small. You can use skin-on catfish as well, your choice.
- Make the soup: In a large pot, heat the oil over medium-high heat. Sauté the veggies; except for the corn for 2-3 minutes, stir continuously. Once they have started to cook and slightly browned, pour in the 8 cups of water and the blended sauce. Pour 1 cup of water into the blender, swirl to get the last bit of sauce and pour into the pot. Stir, and add the corn plus the herbs. Let it reach a boil, then lower to medium-low heat. Once it reaches a gentle simmer, cover and let it cook for 6-8 minutes or until the veggies are 3/4 of the way cooked. Stir in the salt, under-salt it because it will continue to cook. Add the fish, submerge them into the broth. Increase the heat to medium-high for a boil, then lower to medium-low to reach a gentle simmer. Cover and let everything cook for another 10 minutes or until the fish and veggies are fully cooked. Adjust salt to taste, gently stir it in and the soup is ready, turn off the heat.
- Serve: Serve in a large bowl. Top it with chopped onion, cilantro, pepper (optional for an added kick of heat), and a squeeze of lime juice. Pair with corn tortillas and ENJOY!
Did you make this recipe?
Show some love! Tag @villacocinaofficial on Instagram and drop a 5-star review. Your support means everything—thanks!