Method

  1. Season the fish and prep safely

    Cut 900 g of skinless cod fillets into large 5 cm (2 in) pieces and place them in a nonreactive bowl. Add 60 ml of fresh lime juice, 7 g of fine sea salt, and 1 g of black pepper, then turn the pieces gently until coated. Let stand for 15 minutes while you prepare the vegetables. After handling raw fish, wash your hands and clean the knife, board, bowl rim, and any splashed surfaces before touching ready-to-eat ingredients; use clean utensils from this point on.

    15:00
  2. Soften the aromatics and peppers

    Slice 200 g of yellow onion into thin wedges. Cut 150 g of red bell pepper and 150 g of yellow bell pepper into narrow strips. Mince 4 garlic cloves, and chop 1 small red chile finely, removing the seeds first for gentler heat. Warm 15 ml of olive oil in a wide, heavy pot over medium heat. Add 200 g of yellow onion, 150 g of red bell pepper, and 150 g of yellow bell pepper. Cook for 6 to 8 minutes, stirring occasionally, until the onion is translucent and the peppers bend easily but still hold their color. Add 4 garlic cloves and 1 small red chile, then cook for 1 minute until fragrant.

    00:06:00
    00:01:00
  3. Build the coconut-tomato broth

    Chop 400 g of ripe tomatoes into rough pieces, then add them to the pot. Cook for 5 minutes, pressing a few pieces with the spoon, until their juices begin to thicken around the vegetables. Stir in 400 ml of full-fat coconut milk and 30 ml of dendê oil. Bring the broth just to a gentle simmer, then lower the heat so small bubbles rise steadily without a hard boil.

    05:00
  4. Cook the fish gently

    Cook the fish gently during preparation

    Nestle 900 g of skinless cod fillets into the simmering broth in a single layer and pour any marinade from the bowl over the top. Cover the pot and keep the heat low enough for a gentle simmer. Start checking at 8 minutes. Cook until the thickest pieces are opaque, flake under light pressure, and register 63°C/145°F in the center on a food thermometer, usually 8 to 12 minutes. If some pieces finish early, move them to a clean plate while the thicker pieces continue cooking.

    00:08:00
    00:08:00
  5. Finish with cilantro and serve

    Finish with cilantro and serve during preparation

    Chop 20 g of fresh cilantro roughly. Fold half into the broth without breaking the fish, then scatter the rest over the top. Spoon 600 g of cooked white rice into shallow bowls, ladle the moqueca around it, and add any fish pieces that were removed early. Serve immediately while the broth is steaming and the fish is tender.

Cook's noteOnce the fish enters the pot, keep the simmer gentle and move the pieces as little as possible. Shaking the pot lightly distributes the broth without shredding the fish.

Smart Substitutions

  • No cod? Use halibut, haddock, grouper, sea bass, or another firm white fish. Cut the pieces evenly and cook them to 63°C/145°F.
  • No dendê oil? Use the same amount of olive oil. The stew will be paler and less distinctly Bahian, but the broth will still come together.
  • Prefer less heat? Remove the chile seeds before chopping, or omit the chile entirely.
  • No cilantro? Use flat-leaf parsley for a milder herbal finish.

Tips and Variations

  • Choose thick center-cut fish fillets so the pieces cook at a similar rate and stay intact.
  • Stir the coconut milk until smooth before measuring so the cream and liquid are evenly combined.
  • Shake the pot gently instead of stirring once the fish is cooking; this keeps the pieces whole.

What Went Wrong?

  • Fish is breaking apart Keep the pieces large, hold the broth at a gentle simmer, and move the fish only when checking doneness.
  • Broth is too thin Before adding the fish, simmer the coconut-tomato broth uncovered for a few extra minutes until it lightly coats a spoon.
  • Broth looks oily Lower the heat and stir gently around the fish. A hard boil can cause coconut milk to separate.
  • Fish is below the safe temperature Cover and continue the gentle simmer for 1 to 2 minutes, then recheck the thickest piece with a clean food thermometer.

Nutrition Estimate

Calories740
Protein49 g
Carbs61 g
Fat34 g
  • Fiber: 4 g per serving
  • Sodium: 840 mg per serving

Nutrition disclaimer:This recipe is provided for general cooking information only. Nutrition values are estimates and may vary by ingredients, brands, preparation methods, and serving sizes. Check ingredient labels and follow appropriate food-safety practices. This content is not medical, dietary, allergy, or professional food-safety advice.

FAQ

What makes this a Bahian-style moqueca?Coconut milk and dendê oil give this version the creamy texture, orange-gold color, and Afro-Brazilian character associated with moqueca from Bahia. The fish, tomatoes, peppers, lime, and cilantro keep the broth bright and savory.