This site contains Affiliate Links, which means that I may earn commissions through links you make purchases through.  For more information Click Here!

Veracruz Fish Soup Recipe

The Story Behind this Delicious Fish Soup Recipe

Veracruz Fish Soup

When I was a young man, I once went on a walkabout in the State of Veracruz, Mexico.  In my travels, I ended up in a remote village at the end of a long dirt road named San Jose.  The people that lived in this village were descended from the Aztecs and had a marvelous culture that I truly enjoyed.  I was actually in the State of Puebla but did not know it at the time and thought I was in Veracruz. We did not have phones with GPS back in those days, so we could not see exactly where we were at all the time.

Vintage photo of village hut in Mexico

This village was in an arid region that seemed almost desert-like, but there was a small creek that ran by the village with little water. One day, there seemed to be a lot of excitement going on, and I inquired as to why.  I was told that it was time to fish.  My first thought was, “Where?” This was when I discovered a unique phenomenon that occurred in the village.

The Big Event

Although the village was in a sort of desert that got very little rain, it was not far from the foot of the mountains of Veracruz.  When it rained up in the mountains, it would cause flash-flooding in the creek that ran by the village, turning into a river in a matter of minutes. It was quite dangerous if you happened to be in the river when it occurred; however, after the first wave passed, it was just a fast-flowing river. It was not the water that was the source of excitement, though, but what was in it. FISH!

Vintage photo of dry river bed in Mexico

This was a fishing village in the desert. They fished with hand-woven nylon atarrayas (cast nets). As soon as someone sounded the alarm that the river was flowing, all the men and boys in the village would head to the river with their atarraya and start casting.  I joined in the process, which was one of the most wonderful experiences of my life.  A man would cast a net over large rocks in the river to trap the fish under it, and then others (me included) would feel around the net and extract fish that had been trapped in it as they tried to escape from under the rock. The assorted varieties of fish and other aquatic creatures we caught that day are too numerable to count.  We caught fish of all shapes and sizes, including several types of river shrimps.

As we worked, the river level was constantly dropping, and within a few hours, the water was almost back to the normal trickle as if nothing had ever happened.  They later taught me how to cast the atarraya using their unique method and I still use this method today.  But this story is not about the river, or the casting of nets, but about what happened after.  It is about the soup they made from their catch.

My First Encounter with Fish Soup

Veracruz Fish Soup

I call this fish soup recipe Veracruz Fish Soup because I thought I was in Veracruz at the time.  A better name might be Aztec Fish Soup recipe or something else.  All I know is that the only place I have ever had this soup was that village, and while this recipe tries to replicate the unbelievable soup these people shared with me after the catch that day, nothing can ever come close to what they make, for the simple reason that there is no possible way to get the same ingredients.

The soup was made with such a medley of different kinds of fish and river shrimp that I have only ever seen in that river. It was also made of pure organic ingredients harvested from the organic gardens right outside the houses of these wonderful people.  The water came from the river we caught the fish in and was hauled up to the village on burros. So, while this recipe is not the same, it is as close as I can possibly get with the ingredients available.   Now for the recipe.

How to make Veracruz (Aztec) Fish Soup

Note: For best results, only use freshly caught firm meat fish, like panfish and bass. Frozen fish and soft meat fish like catfish are not optimal.


  1. 3 to 5 lbs of fresh whole cleaned fish, including the heads (remove the gills).
  2. 1 lb of shrimp or crawdads or both (you can skip this if you want)
  3. One Large Red Onion.
  4. One Large Head of Garlic or two heaping tbsp of Minced Garlic
  5. 1 lb of Roma Tomatoes
  6. One bunch of Green Onions
  7. One bunch of Cilantro
  8. One can of Chipotle peppers ( Like this: )
  9. Two 6oz Cans of Tomato Paste (not tomato sauce).
  10. Two Regular Limes (Not lemons or key limes)
  11. Two tbsp of Red Wine Vinegar
  12. Two tbsp Arisco Tempero Completo (Like this: ) Note: you can substitute Sea Salt or Knorr Caldo de Pollo (like this: )
  13.  Four Mexican Sour Gherkins ( ), or you can substitute for West Indian Gherkins ( ). Note: Skip this ingredient if you cannot get these, as there is nothing else that can approximate their taste.


Step 1: Making the Soup Base or Roux

Dice and caramelize the red onion, garlic, and Roma tomatoes (1-inch cubes) in an 8-quart stock pot. Then add water (preferably filtered or spring) until the halfway point. Next, chop up the rest of the fresh ingredients and put them in the pot with all the other seasonings.  Split and squeeze both limes into the pot and drop the squeezed lime in the pot as well. Add the can of chipotles. Add the cans of tomato paste, making sure to mix them in well. Cook on High until a rolling boil. Reduce heat to medium and let cook for 15 minutes.

Important Note: The soup base for this fish soup recipe needs to be twice as strong in flavor as you desire.  Once the fish is added, it will dramatically reduce the soup base potency. Now is the time to tweak to taste as it cannot be done after the fish is added.

Adding the Fish to the Soup

Note About Cooking Fish: The mistake that most people make when trying to cook fish soup is that they overcook it. Unlike other types of meats, fish is mostly water.  Water conducts heat fifty times faster than air. As a result, fish cook extremely fast because the heat penetrates almost immediately into the meat. This recipe calls for whole fish with bones with their heads because the bones and the heads of fish contain extremely potent flavors that complement this soup, and the large chunks with bones hold together better.  If you tried to cook this fish soup recipe with boneless filets, they would simply disintegrate.

Cutting the Fish Up

Depending on the size of the fish, cut the fish into large chunks.  Leave fish under 6 inches whole. Fish between 6 and 10 inches should be cut in half.  Fish over 10 inches can be cut into thirds, and so on and so forth.  You want chunks that can fit into a cereal bowl.  The larger the chucks, the better they hold together when dishing the fish out.  The smaller the chunks, the faster they cook and disintegrate. Keeping your chunks of equal size and thickness is best.

Once you have cut all the fish up, add all the fish to the soup as fast as possible while it is boiling.  Bring the soup back to a boil for 3 Minutes ONLY! (Note: If cooking small fish or chucks, the boiling time may need to be reduced.) Then completely remove from the stove and serve. It can be served with rice or tortillas.  (Goes great with my secret fried rice recipe. See video below).

Final Note

This is a very spicy fish soup recipe, and it is supposed to be spicy. I recommend preparing it for a group because it should be eaten pretty much all in one sitting.  Even though you remove it from heat, the fish will continue to cook and become softer and softer before it cools down.  Attempting to reheat the soup at a later time will pretty much result in all the meat disintegrating off the bones.  The soup will still be delicious, but the fish will just be pieces in the soup.

This recipe is copyrighted, so please only share it via a link to this page.  Thanks.

Here are some more of my custom recipes.