Quick Summary: A quick, forgiving Mexican seafood stew with white fish, mussels, and a spiced tomato broth. Use whatever fish or seafood you have, fresh or frozen. Customize the heat level with your choice of chile spices. Slow carb compliant. Ready in 35 minutes. Prep: 10 min | Cook: 25 min | Serves: 5
Jump to: RECIPE | Best Fish for Mexican Fish Stew? | Seasoning Options | Is this a Fish Soup or Fish Stew? | Ingredient List | How to Make It (step by step) | Serving Suggestions | More Seafood Stew Recipes | FAQ

This is probably the most forgiving recipe on my site. Use whatever white fish you have, add mussels or scallops or shrimp, adjust the spice level to your preference, and it still turns out great.
I’ve made it with fresh walleye from a friend who ice fishes and with frozen tilapia from the grocery store. Both versions were delicious. The key is the spiced tomato broth, which comes together quickly while you prep the fish.
This post may contain affiliate links, and you can read our disclosure information here
What is the Best Fish for Mexican Fish Stew?
Firm white fish that holds its shape is best for stew: cod, red snapper (the classic), halibut, mahi mahi, or walleye. Tilapia works too but is more delicate, so add it last.
I live in Minnesota and happen to have a friend who does a lot of ice fishing, so it was easy to get my hands on some fresh white fish the first time I made this.
I added some small scallops and some frozen mussels to the fish and the result was a mixture of textures and tastes that made it feel like fancy restaurant food.
The next time I made this dish I left out the scallops as they had become very expensive and went with tilapia, cod and mussels. It did not suffer in flavor whatsoever!
Chile Pepper Seasoning Options
You can customize the heat level of Mexican food in general by the type of spice or chile peppers you use. For a spicy and smoky version of this soup, or stew, you could use a blend of pasilla, ancho and chipotles (all three of these peppers are smoked and dried).
If you prefer a brighter taste over a smoky taste, substitute the smoked pepper blend for one that uses Aji Amarillo or a spicy pepper that is dried but not smoked. See the notes in the recipe card below for a DIY spice blend.
I grow and dry most of these peppers at Heathglen Farm. For more on which dried peppers to keep on hand and how the heat levels compare, see my guide to chile peppers in traditional Mexican cooking.

I sell this smoky blend at the St. Paul Farmers Market, and I smoke and dry the chiles for it myself. Here is how to smoke chile peppers at home if you want to make your own chipotle.
Is This a Mexican Seafood Soup or a Stew?
It works as either one. As written it is a chunky stew, and an extra cup or two of broth turns it into a Mexican seafood soup.
In Mexico, sopa de pescado or caldo de pescado is made with fish alone. Once shellfish goes in, it becomes caldo de mariscos, and the version loaded with many kinds of seafood is caldo de siete mares (seven seas soup).
Traditional versions build the broth from dried chiles like guajillo and fish or shrimp stock. Mine is a weeknight adaptation with chicken broth, canned tomatoes, and a smoky chile blend.
A reader near Austin went looking for a caldo de pescado recipe and made this one with halibut, shrimp, and fire-roasted tomatoes in place of the walleye, mussels, and Rotel. It worked well, so use what you can get.
Ingredients for Mexican Fish Stew
You need white fish, mussels, onion, carrots, celery, jalapeños, garlic, canned tomatoes with green chiles, chicken broth, dry white wine, cilantro, thyme, bay leaves, and a chile spice blend.
The following photo shows you all the ingredients you will need for this recipe. For details on measurements, see the recipe below.

How to Make Mexican Fish Stew (Step by Step)
Step #1: Chop all the veggies; chile peppers, carrots, celery and onions

Step #2: Soften the veggies by cooking in oil for 5-7 minutes

Step #3: Add tomatoes, cilantro, broth, wine and spices to the softened veggies and cook for 15 minutes.

Step #4: Cut the fish into bite-sized pieces and add to the pot.

Step #5: Cook everything together over medium heat for 5 minutes, or until fish is no longer translucent
What to Serve with Sopa de Pescado
- Warm corn tortillas are the classic side for a Mexican fish stew. Here is my recipe for homemade corn tortillas if you want to make your own.
- Set out lime wedges, sliced avocado, and extra cilantro so everyone can finish their own bowl.
- For slow carb, skip the bread and add a side of black beans. For low carb, try one of these low carb tortilla alternatives.
- For a milder Mexican fish dinner built around olives, capers, and tomatoes, try my Cod Veracruz recipe.
- If you are leading a low carb lifestyle, you could serve it with Ezekiel bread. The bread you see with the fish stew photo above was Ezekiel bread. No bread is really completely low carb (aka keto), but Ezekiel bread is pretty low in carbs and very healthy. You will usually find it in the cooler or frozen bread section of the grocery store.
More Seafood Stew and Fish Stew Recipes
- Cioppino vs bouillabaisse, with a recipe for each
- Easy French bouillabaisse with fennel and orange zest
- Louisiana seafood gumbo with okra
- Seafood corn chowder made without shellfish
- Christmas Eve oyster stew
- Mussels in coconut curry broth
FAQ
They’re closely related. Caldo de pescado is the traditional Mexican fish broth or soup, typically lighter and more broth-forward. Sopa de pescado tends to be heartier with more vegetables and a thicker tomato base, closer to a stew. This recipe falls somewhere between the two, with a robust tomato broth but not as thin as a traditional caldo.
Yes. Fish, mussels, vegetables, tomatoes, and broth are all slow carb foods, and a serving has about 15 grams of carbs. Skip the bread and tortillas, and add black beans for slow carb. Here is my list of foods allowed on the slow carb diet.
Yes. Frozen works very well in this stew. Thaw before adding to the pot, or add frozen and extend the cooking time by a few minutes.
Use a smoky blend of pasilla, ancho, and chipotle for mild-medium heat. Add cayenne or chile de árbol for more heat. The DIY spice blend in the recipe notes is medium-spicy. For a mild stew, use plain diced tomatoes instead of Rotel and leave out the jalapeños.
Cod, tilapia, red snapper, halibut, or walleye all work. Use whatever is fresh, affordable, or available. The tomato broth carries the flavor.
Yes. Use all white fish, or substitute shrimp, scallops, or clams. The recipe is flexible.
A fish stew has a thicker, more concentrated broth with larger pieces of fish and vegetables. A fish soup is thinner and more broth-forward. This recipe falls on the stew side, with a robust tomato base and chunky pieces of cod and mussels, but you can thin it with extra broth if you prefer a soupier consistency.
Yes. Replace the wine with an extra cup of broth and add a squeeze of lime at the end.
It keeps 2 days in the refrigerator. Reheat it gently and stop as soon as it is hot, since fish and mussels turn rubbery when overcooked. To make it ahead, cook the broth base, refrigerate or freeze it, and add the seafood when you reheat.
What makes a good seafood stew?
Build the flavor in the broth first, then add the seafood for only the last 3 to 5 minutes so it stays tender. A mix of firm fish and shellfish gives the best texture.
Want a printable reference for your kitchen? The Fish and Seafood Quick Reference Guide covers cooking methods, timing charts, sauce pairings, and holiday planning ideas in 8 pages you can keep next to the stove.
Mexican Fish Stew
Equipment
Ingredients
- 2 Tablespoon olive oil
- 1 med onion chopped
- 3 carrots sliced (about 1/4” thickness)
- 2 jalapenos or serranos halved lengthwise, seeded and finely chopped
- 3 med celery stalks sliced (about 1/4” thickness)
- 4 cloves garlic smashed or minced
- 2 teaspoons Fish spice blend
- 1 teaspoon dried thyme crushed
- 1 cup dry white wine
- 4 cups chicken broth
- ½ cup chopped cilantro
- 20 ounces Rotel diced tomatoes (2 cans)
- ½ tsp salt
- 3 bay leaves
- 1 ½ lbs. white fish chopped into 1-inch chunks
- 1 lb mussels
- 2 med limes cut into wedges
- 1 med lemon sliced
Instructions
- Heat oil over med-high heat in a dutch oven or large pot. Saute onion, carrot, jalapeños and celery in oil for 5-7 minutes until softened. Add smashed garlic and cook for 1 more minute2 Tablespoon olive oil, 1 med onion, 3 carrots, 2 jalapenos or serranos, 3 med celery stalks, 4 cloves garlic
- Add spices and stir in to the onion mixture to coat. Add wine, broth, cilantro, tomatoes, salt & bay leaves to pot and simmer together for 15 minutes over medium heat. Taste and add more salt if needed.2 teaspoons Fish spice blend, 1 teaspoon dried thyme, 1 cup dry white wine, 4 cups chicken broth, 1/2 cup chopped cilantro, 20 ounces Rotel diced tomatoes (2 cans), 1/2 tsp salt, 3 bay leaves
- Add the fish and mussels, cover, and cook 3 to 5 minutes, until the mussels open and the fish is opaque and flakes easily (145°F). Discard any mussels that stay closed.1 1/2 lbs. white fish, 1 lb mussels
- Ladle into bowls and serve with lime wedges, lemon slices, and extra cilantro.2 med limes , 1 med lemon
Video
Notes
- White fish should be cut into 1-inch chunks. White fish can use mix of cod, tilapia, scallops, or walleye
- If using fresh mussels: scrub them, pull off the beards, and discard any with cracked shells or any that stay open when tapped. Frozen mussels are usually pre-cooked and only need to heat through.
- You can also change the heat level by the type of spice or chile peppers you use. I went with a mix of pasilla, ancho and chipotles for a smokey, medium heat flavor profile. The cilantro and lemon brightened it up considerably and the result was a complex, robust stew with smoky notes as well as bright fresh notes.
- Not eating low carb? Add sour cream and crispy tortilla chips.
- 1/2 tsp dried chipotle powder (or dried aji amarillo powder),
- 1/2 tsp onion powder
- 1/2 tsp garlic powder
- 1/4 tsp salt
- 1/4 tsp lemon pepper


Great recipe
So glad you liked it! Thank you for commenting.
I just saw this recipe on TV. It looks so good. I’m going to get the ingredients and make it ASAP. Thank you..
You bet. It’s nice that it’s pretty easy too!
Near Austin, TX we are blessed with many authentic Mexican restaurants (not Tex-Mex). We were discussing where to go for Caldo de Pescado when we decided to just look for a recipe and cook a pot ourselves. This fish soup/stew turned out BETTER than any we’ve had in a restaurant! Slight recipe modifications included ground rainbow pepper replacing smoky pepper blend, Hunt’s fire roasted diced tomatoes replacing Rotel, 10 oz halibut replacing walleye (not available) and whitefish, and small shrimp replacing mussels (uncooked not available). Two of us added a few drops of Cholula hot sauce, and we accompanied the soup with fresh flour tortillas from our grocery. We highly recommend this recipe.
I’m so happy you enjoyed the recipe John! It’s great that you were able to modify with your preferences and availability and it still turned out good. I’m going to have to try some of your modifications next time I make it!