Olives and capers in a Mexican dish surprise most people the first time. They are the reason pescado a la veracruzana (peh-SKAH-doh ah lah veh-rah-kroo-SAH-nah) tastes the way it does: white fish, traditionally a whole red snapper, which Mexicans call huachinango (wah-chee-NAHN-go), cooked in a tomato sauce with onion, garlic, green olives, capers, mild pickled chiles, bay leaf and oregano. It is the signature dish of the Gulf state of Veracruz, and the olives and capers are usually read as the Spanish side of the recipe. If you like a Mediterranean fish stew, you already know where this is going, with a pickled-chile edge.
Is fish Veracruz style worth making, and who it suits
How do you make fish Veracruz style? Soften onion and garlic in olive oil, add chopped tomatoes with bay leaf and oregano, and simmer 15 minutes until thick. Stir in olives, capers and pickled chiles, then nestle lime-marinated fillets into the sauce, cover and cook on low for 8 to 10 minutes for ¾ inch (2 cm) fillets, without flipping. Ready in 50 minutes for 6 servings.
Yes, especially if you want a fish dinner for a group that involves no frying and no last-minute flipping. About 25 of the 50 minutes are hands-on, and the sauce can be made a day ahead, which leaves 20 minutes of cooking on the night.
It suits a Friday in Lent, a dinner party where you want to sit down with your guests, or a holiday table that needs a fish course. It does not suit anyone who dislikes olives and capers, since they are the backbone of the sauce, or a cook who only has thin, soft fillets like swai, which fall apart.
Which fish to buy for Veracruz style in the US and UK
Buy firm white fish at least ¾ inch (2 cm) thick. Red snapper is the classic, but what matters is firmness, because the fish sits in an acidic sauce and gets lifted out at the end.
In the US, red snapper turns up at good fish counters and in Asian and Latin markets, often whole. Halibut is the firmest fillet and the priciest. Whole branzino (European sea bass) is a good stand-in for a whole snapper.
In the UK, red snapper is hard to find fresh. Sea bass fillets work very well, and thick cod or haddock loins are fine as long as you leave them alone once they are in the pan. Thin tail pieces will break.
Fillets or a whole fish. Fillets are easier to serve and cook on the stovetop. A whole cleaned snapper of 2½ lb (1.2 kg) goes in the oven, feeds 3 to 4, and has more flavor from the bone and skin. For 6, bake two.
Frozen is fine. Thaw it overnight in the fridge, never on the counter, and pat it very dry before the lime. Water from a wet fillet thins the sauce.
The sauce ingredients and supermarket swaps
Most of the sauce is ordinary supermarket food. The one ingredient you may not know is the chile güero, a pale yellow chile sold pickled in jars and cans in Mexican grocery stores. It adds tang and very little heat.
| Mexican ingredient | Best swap | What changes |
|---|---|---|
| Pickled chiles güeros | Pepperoncini or pickled banana peppers | Almost nothing, slightly sweeter |
| Pickled chiles güeros | 2 sliced pickled jalapeños | Noticeably hotter |
| Mexican oregano | Regular (Mediterranean) oregano, same 1 tsp | Less citrusy, still good |
| Ripe Roma tomatoes, 2⅔ lb (1.2 kg) | Two 28 oz (800 g) cans whole peeled tomatoes | Redder, more consistent; cut the salt to ½ tsp |
| Manzanilla olives | Any pitted green olive | Castelvetrano is milder and sweeter |
| Huachinango (red snapper) | Sea bass, halibut, thick cod loin | See the chart above |
Peeling fresh tomatoes takes 5 minutes and saves you rolled-up strips of skin in the sauce. If your tomatoes are pale and out of season, the cans give a better result.
How long to cook the fish, by thickness
Measure the thickest part of the fillet with a ruler. Thickness, not weight, sets the time, the same logic as the old Canadian Department of Fisheries rule of 10 minutes per inch (2.5 cm).
| Thickness | Covered skillet, low heat | 400°F (200°C) oven, sauce on top |
|---|---|---|
| ½ inch (1 cm) fillet | 5-6 min | 8-10 min |
| ¾ inch (2 cm) fillet | 8-10 min | 12-15 min |
| 1¼ inch (3 cm) loin | 12-14 min | 15-18 min |
| Whole 2½ lb (1.2 kg) snapper | not recommended | 25-30 min |
The FDA’s safe minimum for fin fish is 145°F (63°C), or flesh that is opaque and separates easily with a fork. An instant-read thermometer in the thickest part ends the guessing.
Who this recipe is for
- If you’re cooking for 4 on a weeknight → the skillet, with canned tomatoes and ½ inch (1 cm) fillets, about 35 minutes.
- If you’re hosting 12 → oven fillets in two baking dishes, sauce made the day before.
- If you want a centrepiece → a whole snapper, slashed and baked under the sauce.
- If it’s your first time → thick halibut or sea bass, which forgives a minute or two.
Game plan, make-ahead and signs it’s going right
Make ahead. The finished sauce, olives and chiles included, keeps in the fridge overnight and tastes rounder the next day. Bring it back to a gentle simmer, add the fish, and dinner is 20 minutes away.
Scaling up. Make the sauce in a wide pot and bake the fish in single layers. A double batch of sauce needs 20-25 minutes to reduce instead of 15.
| Servings | Fish | Tomatoes | Onion | Olive oil | Olives | Capers | Chiles | Salt |
|---|---|---|---|---|---|---|---|---|
| 6 | 2⅓ lb (1.05 kg) | 2⅔ lb (1.2 kg) | 9 oz (250 g) | ⅓ cup (80 ml) | 3½ oz (100 g) | 2 tbsp | 6 | 1 tsp |
| 12 | 4⅔ lb (2.1 kg) | 5⅓ lb (2.4 kg) | 1 lb 2 oz (500 g) | ⅔ cup (160 ml) | 7 oz (200 g) | ¼ cup | 12 | 2 tsp, to taste |
| 20 | 7¾ lb (3.5 kg) | 8¾ lb (4 kg) | 1 lb 13 oz (830 g) | 1⅛ cups (270 ml) | 11½ oz (330 g) | 6½ tbsp | 20 | 3 tsp, to taste |
Signs it’s going right.
- Onion → soft and see-through at 5 minutes, no brown edges.
- Sauce → after 15 minutes no raw tomato pieces remain, oil shines at the edges and a spoon leaves a trail that closes slowly.
- Fish → at 8 minutes the edges of a ¾ inch (2 cm) fillet are white and opaque; at 10 the fork flakes it.
Mistakes, spice level, kids and allergens
- The fish breaks apart → soft fish, flipped, or boiled hard. Use a firm ¾ inch (2 cm) fillet, keep the heat low and baste with a spoon.
- The sauce is watery → it didn’t reduce for 15 minutes, or the thawed fish wasn’t dried. Lift the fish out, reduce 5 minutes uncovered, return it.
- It’s too salty → the sauce was salted fully before the olives, capers and chiles went in. Season lightly and taste after adding them.
- The fish tastes sour and looks chalky → it sat in lime for more than 20 minutes. Fifteen is plenty.
- Dry fish → it went well past 145°F (63°C). Check a ¾ inch fillet at 8 minutes.
Heat level, 1 out of 5. Whole güero chiles or pepperoncini barely register; the heat stays inside the chile. Pickled jalapeños push it to 2.
Kids usually like white fish in tomato sauce and pick out the capers and chiles. Check for bones, especially with whole fish.
Allergens. Contains fish. No gluten, dairy, eggs or nuts. Some brands of capers and pickled peppers contain sulfites, so check the label.
Which version should you make
- Whole snapper → clean and scale a 2½ lb (1.2 kg) fish, cut 3 diagonal slashes on each side, lime and salt for 15 minutes, then bake on a bed of sauce with more sauce on top, covered in foil, at 400°F (200°C) for 25-30 minutes, uncovered for the last 5. It is done at 145°F (63°C) next to the backbone. For a whole snapper with chile instead of tomato, butterflied and grilled over coals, see pescado zarandeado.
- Christmas Eve version → the Mexican holiday table often has salt cod instead, and that is a different dish. Mexican Christmas bacalao is salt cod soaked for 48 hours, flaked and stewed with potatoes. Veracruz style uses fresh fish cooked for 10 minutes. The sauces share tomatoes, olives, capers and chiles, so this is the shortcut to that flavor without the soaking.
- Lighter → halve the oil to 40 ml (2½ tbsp), which saves about 55 calories per plate, and skip the added salt and half the olives to bring sodium down to around 580 mg.
- Vegetarian → the same sauce with 1¾ lb (800 g) cauliflower florets, covered for 12 minutes, or eggs poached in it for the last 6 minutes. Not the classic, but the sauce carries it.
- Spicier, with shrimp → a different dish: camarones a la diabla, Mexican deviled shrimp, swap the olives for a dried-chile sauce and the shrimp need only 4 to 5 minutes.
What it costs in the US
The sauce base is cheap. At the BLS average of $1.98 per pound for tomatoes (August 2026) and USDA AMS advertised prices of $1.22 per pound for onions and $5.99 per pound for garlic (October 9, 2026), the tomatoes, onion and garlic cost about $6.10. Olives, capers and chiles add a few dollars more depending on the brand.
The fish is the real cost: 2⅓ lb (1.05 kg) times your fish counter’s price per pound. The BLS does not publish an average price for fresh fish, so I won’t guess one. Red snapper and halibut sit at the top end; sea bass, thick cod and tilapia bring the dish down. Each plate is about 14 oz (400 g) with a 6 oz (175 g) raw portion of fish.
How it tastes, how to serve it, storing and reheating
Taste and texture. A thick, glossy red sauce, sharp from tomato and pickled chile, salty from olive and caper, with bay leaf underneath. The fish stays moist and falls into big white flakes.
Serving. On a flat plate, the fillet covered in sauce with a chile on top. Plain Colombian white rice soaks up the sauce, or go with Mexican red rice for color, plus warm tortillas or crusty bread. For a seafood dinner, start with a cold Mexican shrimp cocktail or Mexican fish ceviche; at Christmas, add the beet, jicama and orange Mexican Christmas Eve salad. Leftover fish, flaked into its sauce, makes a saucy alternative to Baja fish tacos the next day.
Fridge. USDA FSIS rules for leftovers: no more than 2 hours at room temperature, then 3 to 4 days in the fridge at 40°F (4°C) or below, in a shallow covered container.
Freezer. Freeze the sauce alone, which keeps 2 to 3 months for best quality according to the FoodSafety.gov chart for soups and stews. Cooked fish gets watery and dry once thawed, so cook fresh fish into the thawed sauce instead.
Reheating. Covered, over low heat, with 2 tbsp water stirred into the sauce, until it reaches 165°F (74°C), the FSIS figure for reheating leftovers. High heat breaks and dries the fish. In the microwave, covered, at half power in 1-minute bursts.
Fish Veracruz style FAQ
What is the best fish for Veracruz style? Red snapper, sea bass, halibut or grouper. They are firm enough to sit in the sauce for 10 minutes. Cod and haddock work as thick loins.
Can I make it with cod? Yes, with loins at least 1¼ inch (3 cm) thick, 12-14 minutes covered on low. Don’t stir; spoon the sauce over.
What are güero chiles and what can I use instead? Mild pale yellow Mexican chiles sold pickled. Pepperoncini or pickled banana peppers are the closest supermarket swap; pickled jalapeños are hotter.
Should I bake it or cook it on the stovetop? The skillet for 4-6 fillets. The oven at 400°F (200°C) for a crowd or a whole fish, since nothing gets moved.
How long does a whole snapper take in the oven? A 2½ lb (1.2 kg) fish under the sauce takes 25-30 minutes at 400°F (200°C), covered with foil, uncovered for the last 5. Check 145°F (63°C) by the backbone.
What temperature should the fish reach? 145°F (63°C) in the thickest part, the FDA safe minimum for fin fish.
Can I make Veracruz sauce ahead? Yes, a day ahead in the fridge, or frozen for up to 3 months. Cook the fish in it on the day.
Is fish Veracruz style spicy? Barely. Whole pickled güero chiles add tang, not much heat. Use pickled jalapeños if you want it hotter.
Nutrition per serving
Per serving (about 14 oz / 400 g, without rice or bread), calculated ingredient by ingredient from USDA FoodData Central (SR Legacy) using the quantities in this recipe, with raw snapper for the fish and canned jalapeños as the stand-in for pickled güero chiles:
- Calories: 371 kcal
- Protein: 39 g
- Carbohydrates: 15 g
- Fat: 18 g, of which 3 g saturated (mostly olive oil)
- Fiber: 4 g
- Sugars: 8 g, from tomato and onion
- Sodium: 1,100 mg
The sodium comes from four places in similar shares: added salt (about 390 mg per plate), olives (260 mg), pickled chiles (250 mg) and capers (80 mg). The olive oil accounts for close to 110 calories per plate.
Growing up in Venezuela, fish meant a whole fried fish with tostones, so the first time I cooked fish in a sauce I kept nudging it and served something closer to fish crumbs in tomato. Now I measure the fillet, put the lid on and walk away for 8 minutes. A firm fish and a still pan are the whole trick. Josnaisis.