Skip to content
Zaffaron

Brazilian Fish Moqueca (Moqueca) — Bahia-Style Coconut Seafood Stew

Moqueca is a coastal Brazilian fish stew, especially beloved in Bahia, where coconut milk, dendê palm oil, peppers, cilantro, and lime frame tender fish. It is bright, aromatic, and traditionally served with rice and farofa.

By Zaffaron Kitchen· Published June 21, 2026 Verified Recipe
Gluten-Free Nut-Free Halal
Contains: dairy, fish
55 min total Prep 25m · Cook 30m 4 servings 548 cal
↓ Jump to Recipe
Brazilian Fish Moqueca — Bahia-Style Coconut Seafood Stew - authentic brazilian recipe

Printable Recipe Card

Servings: 4 · Total: 55 min · Difficulty: medium

Ingredients (quick list)

  • 700 g firm white fish fillets (skinless cod, snapper, grouper, or halibut, cut into 5 cm chunks)
  • 2 large lime (juiced, yielding about 60 ml juice)
  • 4 clove garlic (finely grated)
  • 8 g fine sea salt
  • 1 tsp black pepper (freshly ground)
  • 1 yellow onion (about 220 g, thinly sliced)
  • 1 red bell pepper (about 180 g, thinly sliced)
  • 1 green bell pepper (about 180 g, thinly sliced)
  • 3 ripe tomatoes (about 450 g, sliced into thin rounds)
  • 400 ml full-fat coconut milk
  • 120 ml fish stock (unsalted or low-sodium)
  • 3 tbsp dendê palm oil (Brazilian red palm oil)

+ 4 more in the full ingredients section below.

Steps (summary)

  1. Place the fish chunks in a shallow nonreactive dish and add the lime juice, grated garlic, 8 g salt, and black pepper. Turn gen…
  2. Warm the olive oil in a wide heavy pot or clay casserole over medium heat. Add the sliced onion and cook for 5 minutes, stirrin…
  3. Layer half of the tomatoes, red bell pepper, green bell pepper, and minced chile over the onions. Arrange the marinated fish on…
  4. Cover the fish with the remaining tomatoes and bell peppers, then pour the coconut milk and fish stock around the edges of the…
  5. Cover the pot and simmer for 12 to 15 minutes, until the fish is just opaque and flakes easily with light pressure. Do not stir…
  6. Drizzle the dendê palm oil over the surface and simmer uncovered for 3 minutes to let its color and aroma bloom into the broth.…

+ 1 more steps in the full instructions section below.

Cultural Background

Moqueca reflects Brazil’s coastal foodways, with Indigenous stewing techniques, Portuguese ingredients, and strong Afro-Brazilian influence in Bahia through dendê and coconut. It is a centerpiece for relaxed family meals.

savorytangygently sweetlightly spicytender fishsilky coconut brothsoft peppersjuicy tomatoescoconut richnessdendê nuttinessfresh cilantrolime-garlic brightness🌶 medium

Equipment

wide heavy pot or clay casserolesharp knifecutting boardcitrus juicermeasuring spoonsmeasuring jugwooden spoon

💡 Tips

  • Use thick, firm fish fillets so the pieces hold their shape during the gentle simmer.
  • Add dendê near the end because prolonged boiling can make its flavor heavy and slightly bitter.
  • Serve the moqueca from the cooking pot to preserve the layered fish and vegetables.

⚠️ Common Mistakes

  • Boiling the stew hard after adding the fish

    ✅ Fix: Keep the liquid at a gentle simmer so the fish stays moist and the coconut milk does not split.

  • Stirring the pot aggressively

    ✅ Fix: Layer the ingredients and tilt the pot to move the sauce, preserving whole pieces of fish.

  • Skipping the lime marinade

    ✅ Fix: Marinate the fish for the full 20 minutes to season it deeply and brighten the rich coconut sauce.

🧊 How to Store

Refrigerate leftovers in an airtight container for up to 2 days. Reheat gently in a covered saucepan over low heat for 6 to 8 minutes, adding 30 ml water if the sauce has thickened; avoid boiling the fish.

📅 Make Ahead

Slice the vegetables and marinate the fish up to 20 minutes before cooking. The sauce base can be assembled 4 hours ahead, but cook the fish only just before serving.

🍽️ Pairs Well With

  • Steamed white rice
  • farofa
  • pirão
  • lime wedges
  • molho de pimenta.

Regional Variations

  • Moqueca baiana uses coconut milk, cilantro, and dendê palm oil for a lush Afro-Brazilian profile.
  • Moqueca capixaba from Espírito Santo usually omits coconut milk and dendê, using annatto-colored oil and a clay pot.
  • Seafood versions often combine fish with shrimp, crab, or shellfish depending on the coastal catch.
Sunday lunch family-gathering Semana Santa coastal celebration
#classic#coastal#family-style#gluten-free

Ingredients

  • 700 gfirm white fish fillets (skinless cod, snapper, grouper, or halibut, cut into 5 cm chunks)
  • 2large lime (juiced, yielding about 60 ml juice)
  • 4 clovegarlic (finely grated)
  • 8 gfine sea salt
  • 1 tspblack pepper (freshly ground)
  • 1yellow onion (about 220 g, thinly sliced)
  • 1red bell pepper (about 180 g, thinly sliced)
  • 1green bell pepper (about 180 g, thinly sliced)
  • 3ripe tomatoes (about 450 g, sliced into thin rounds)
  • 400 mlfull-fat coconut milk
  • 120 mlfish stock (unsalted or low-sodium)
  • 3 tbspdendê palm oil (Brazilian red palm oil)
  • 2 tbspextra-virgin olive oil
  • 1malagueta chile (seeded and minced, or use 1 small red chile)
  • 1 bunchcilantro (leaves and tender stems chopped, about 35 g)
  • 4scallions (thinly sliced)

🔄 Substitutions

  • dendê palm oil2 tbsp olive oil plus 1 tsp sweet paprika
  • malagueta chile1 small red Fresno chile
  • firm white fish filletspeeled raw shrimp

Instructions

  1. 1

    Place the fish chunks in a shallow nonreactive dish and add the lime juice, grated garlic, 8 g salt, and black pepper. Turn gently to coat every piece, then cover and refrigerate for 20 minutes while you prepare the vegetables.

  2. 2

    Warm the olive oil in a wide heavy pot or clay casserole over medium heat. Add the sliced onion and cook for 5 minutes, stirring often, until it softens but does not brown.

  3. 3

    Layer half of the tomatoes, red bell pepper, green bell pepper, and minced chile over the onions. Arrange the marinated fish on top in a single even layer, pouring in any lime-garlic marinade left in the dish.

  4. 4

    Cover the fish with the remaining tomatoes and bell peppers, then pour the coconut milk and fish stock around the edges of the pot. Bring the liquid to a gentle simmer over medium-low heat, avoiding a hard boil so the fish stays tender.

  5. 5

    Cover the pot and simmer for 12 to 15 minutes, until the fish is just opaque and flakes easily with light pressure. Do not stir vigorously; instead, tilt the pot occasionally to circulate the sauce without breaking the fish.

  6. 6

    Drizzle the dendê palm oil over the surface and simmer uncovered for 3 minutes to let its color and aroma bloom into the broth. Taste the sauce and add the remaining 2 g salt only if the stew needs a sharper finish.

  7. 7

    Scatter the chopped cilantro and sliced scallions over the moqueca just before serving. Let the stew rest off the heat for 5 minutes so the sauce settles and the fish finishes gently in the residual warmth.

🪪 Recipe Passport

Origin: Brazilian Cuisine
Researched by: Zaffaron Kitchen
Published: June 21, 2026

Cultural Background

Moqueca reflects Brazil’s coastal foodways, with Indigenous stewing techniques, Portuguese ingredients, and strong Afro-Brazilian influence in Bahia through dendê and coconut. It is a centerpiece for relaxed family meals.

Regional Variations

Moqueca baiana uses coconut milk, cilantro, and dendê palm oil for a lush Afro-Brazilian profile.
Moqueca capixaba from Espírito Santo usually omits coconut milk and dendê, using annatto-colored oil and a clay pot.
Seafood versions often combine fish with shrimp, crab, or shellfish depending on the coastal catch.

Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.

📚 Sources & Cultural References

  • Leticia Moreinos Schwartz — The Brazilian Kitchen — (2010)
  • Maria Baez Kijac — The South American Table — (2003)

Sources cited by the Zaffaron editorial team during recipe research. Cultural and culinary references supporting authenticity claims.

Share:

Nutrition per serving

548
Calories
39g
Protein
36g
Fat
18g
Carbs
5g
Fiber
1030mg
Sodium

Pairs well with

If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.

Does your family make this differently?

Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.

You Might Also Like

Reviews

Rated 0.0 out of 5 stars
0 reviews

Cooked this recipe?

Tap the stars to rate it — that's all it takes. A few words are welcome but optional.

Please sign in to rate this recipe.
Rated 0.0 out of 5 stars

No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.