Food safety reminder: Follow safe food-handling practices and use a food thermometer to verify safe internal cooking temperatures.
- 1.5 lb (680 g) firm white fish (snapper, grouper, or similar), cut into large chunks - 3 tbsp (45 ml) red palm oil or substitute vegetable oil if unavailable - 1 large onion, diced (about 225 g) - 3 garlic cloves, minced - 1 medium red bell pepper, diced (about 150 g) - 3 medium ripe tomatoes, chopped (about 450 g) - 1 tbsp (15 ml) tomato paste - 1 tsp (5 g) piri-piri or cayenne chili (adjust to taste) - 8 oz (225 g) fresh okra, sliced - 2 medium potatoes, peeled and cubed (about 340 g) - 4 cups (960 ml) fish stock or water - 1 bay leaf - 1 tbsp (15 ml) lime juice, plus lime wedges to serve - 1 tsp (6 g) salt, plus more to taste - 1/2 tsp (1.5 g) freshly ground black pepper - 2 tbsp (30 ml) chopped fresh cilantro or parsley for garnish
1. Rinse fish chunks and pat dry; season lightly with 1/2 tsp (3 g) salt and 1/4 tsp (0.75 g) pepper. Set aside. 2. Heat the palm oil in a large pot over medium heat. Add diced onion and cook until translucent, about 5 minutes. Add garlic and cook 1 minute more. 3. Stir in red bell pepper and chopped tomatoes; cook until tomatoes begin to break down, about 6–8 minutes. Add tomato paste and piri-piri, stirring to combine. 4. Pour in fish stock and add the bay leaf. Bring to a simmer, then add the cubed potatoes. Cook for 10 minutes or until potatoes are nearly tender. 5. Add the okra and continue simmering 5 minutes. Taste the broth and adjust seasoning with salt and pepper. 6. Gently add the fish pieces to the pot, cover, and simmer gently 6–8 minutes, or until the fish is opaque and flakes easily. Avoid vigorous boiling to keep fish intact. 7. Stir in lime juice and remove bay leaf. Adjust heat and seasoning if needed. 8. Ladle into bowls and garnish with chopped cilantro or parsley and lime wedges. Serve with plain rice, fried plantain, or crusty bread.
Per serving | Servings: 4
Generated: 2026-11-05T19:44:05+00:00
*Nutrition is estimated using recipe ingredients, serving size, and USDA data. Actual values may vary. Some nutrient data are unavailable and are omitted.