Go Back
+ servings

Mexican Fish, Veracruz Style

Prep Time 15 mins
Cook Time 25 mins
Total Time 40 mins
Servings 5


  • 2.2 lbs (1kg) firm white fish fillets like red snapper, sea bass, mahi mahi, cod, tilapia, basa
  • 1 large can (796ml/28oz) diced tomatoes or 4 cups/1 litre packed, diced fresh plum tomatoes
  • 1 cup (240ml) water
  • 4 cloves garlic
  • 4 tablespoons olive oil divided
  • ½ teaspoon salt plus more for salting the fish
  • ¼ teaspoon pepper
  • 1 teaspoon dried oregano preferably Mexican
  • ½ teaspoon dried marjoram
  • 2 bay leaves
  • 24 pimiento stuffed green olives halved (about ⅓ of a cup)
  • 4 tablespoons capers drained if pickled; rinsed & drained if salted
  • 1 green bell pepper
  • 1 yellow bell pepper
  • 1 orange bell pepper
  • 1 medium onion
  • 2 carrots
  • 2 medium potatoes firm and waxy type, not baking potatoes
  • ¼ cup (4 tablespoons) coarsely chopped fresh parsley

to serve:

  • chopped fresh onion
  • lime wedges about ½ lime per serving
  • bottled hot sauce like Valentina or Cholula brand
  • warm corn tortillas - optional or crusty bread, gluten-free if necessary


  • Put tomatoes and their juice, the water, and garlic cloves into a large Dutch oven or heavy-bottomed pot. Using an immersion blender, whiz up the tomatoes and garlic until roughly pureed. (If you don't have an immersion blender, you can whiz them in a regular blender or mince the garlic and leave the tomatoes diced for a chunkier sauce.) Add 2 tablespoons of the olive oil, ½ teaspoon of the salt, the pepper, oregano, marjoram, and the bay leaves. Bring to a boil, then turn the heat to low and simmer, uncovered, for 5 to 10 minutes, to combine the flavours.
  • While the sauce is simmering, prepare the vegetables. Halve the olives and drain the capers. Core the bell peppers and cut them into long thin strips. Cut the onion in half and slice each half crosswise into ¼ inch (½cm) thick slices. Peel the carrot and cut it into 2 inch (5cm) lengths, then cut the lengths into long thin strips. Cut the potatoes into french fry sized batons.
  • Add the olives, capers, and cut vegetables to the tomato sauce. Give it a stir, then bring to a boil. Reduce the heat, cover, and simmer for 20 minutes, or until the vegetables are tender.
  • While the vegetables are simmering, heat a non-stick skillet with 1 tablespoon of the remaining olive oil over medium heat. Cut the fish fillets into large chunks and sprinkle them lightly with salt. Cook until opaque on the first side, flip them and cook a minute or two more, just until opaque on the outside. The fish should still be slightly undercooked. Transfer the fillets gently to a plate, trying to keep them from breaking up. Use the remaining tablespoon of oil to cook the rest of the fish in one or two more batches.
  • When the vegetables are tender, stir in the parsley. Lay the partially-cooked fish fillets, and any of the accumulated juices, gently on top of the simmering vegetables. Spoon some of the tomato sauce over to moisten the fish fillets. Cover the Dutch oven and cook the fish and vegetables for 5 more minutes.
  • *Or fully cook the fish filets, and serve with the vegetable stew on the side to spoon over the fish at the table.
  • Serve in large shallow bowls, with a small bowl of chopped fresh onions and lime wedges to squeeze on top.
  • Pass the hot sauce for anyone who'd like to add a little zip to their Fish Veracruz.
  • Serves 5 to 6.


Fish Veracruz is an adaptable recipe. You can omit the potatoes and carrots (or add peas as in the version from Bucerias in the photo). You can use more or less olives or capers. You can serve the fish and sauce separately, or serve individual fish filets with the sauce spooned on top. If omitting the potatoes and carrots, you can chop the bell peppers more finely and make the vegetable stew more sauce-like.
You can use any type of firm white fish, like red snapper, cod, halibut, tilapia, basa, or mahi mahi. You can even use salmon, if you like.
Just don't forget the olives and capers and make sure to add a good squeeze of lime juice to serve.