This is a traditional way that fish is served in Jamaica that is similar to the escabeches of the Spanish-speaking islands. It is traditionally served with bammy (also spelled bammie), a cassava flatbread, but I like to eat it with rice to better soak up the marinade. This recipe makes four cups of pickled vegetables: You can use it all or reserve some and use the leftovers as a complement to other fish or meat dishes or in sandwiches. Read more about this recipe in the article This Tangy Escovitch Fish Connects Jamaica to Its Spanish Past.

Portrait of Jessica B. Harris with a stack of books
Jessica B. Harris, March 2021


Credit: Andrea Mathis

Recipe Summary

30 mins
1 hr


Ingredient Checklist


Instructions Checklist
  • Heat 2 tablespoons oil in a large saucepan over medium heat. Add onions, carrots, bell pepper, habanero, cracked and whole allspice berries, peppercorns and thyme. Cook, stirring often, until the vegetables soften, about 10 minutes. Add vinegar and bring to a boil. Reduce heat and simmer for 3 minutes. Remove from heat.

  • Meanwhile, heat the remaining 1 tablespoon oil in a large skillet over medium heat. Sprinkle both sides of fish with salt and pepper. Cook, turning once, until just cooked through, 3 to 5 minutes per side, depending on thickness. Remove from heat and pour the marinade over the fish. Let stand at room temperature for 30 minutes before serving. Serve the fish and vegetables over rice, if desired.

To make ahead

Refrigerate marinated vegetables (Step 1) for up to 1 week.


If you can't find cane vinegar, you can substitute the same amount of cider vinegar and 1 teaspoon dark brown sugar.

Nutrition Facts

329 calories; fat 18g; cholesterol 67mg; sodium 664mg; carbohydrates 12g; dietary fiber 3g; protein 26g; sugars 6g; niacin equivalents 6mg; saturated fat 2g; vitamin a iu 6175IU; potassium 685mg.