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.

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)
- Place the fish chunks in a shallow nonreactive dish and add the lime juice, grated garlic, 8 g salt, and black pepper. Turn gen…
- 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…
- Layer half of the tomatoes, red bell pepper, green bell pepper, and minced chile over the onions. Arrange the marinated fish on…
- Cover the fish with the remaining tomatoes and bell peppers, then pour the coconut milk and fish stock around the edges of the…
- 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…
- 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.
Equipment
💡 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.
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 oil→ 2 tbsp olive oil plus 1 tsp sweet paprika
- malagueta chile→ 1 small red Fresno chile
- firm white fish fillets→ peeled raw shrimp
Instructions
- 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
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
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
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
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
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
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
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
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.
Nutrition per serving
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

Coxinha (Coxinha) — Brazilian Chicken Croquettes
Brazilian · Appetizers · 130 min

Brazilian Picanha (Picanha) — Coarse-Salted Churrasco Steak
Brazilian · Kebabs · 50 min

Brazilian Cheese Breads (Pão de Queijo) — Chewy Tapioca Cheese Rolls
Brazilian · Breads · 45 min

Bulgarian Pork Kavarma (Каварма) — Clay-Pot Pepper and Pork Stew
Bulgarian · Stews · 115 min

Kale with Pinkel Sausage (Grünkohl mit Pinkel) — North German Winter Stew
German · Stews · 130 min

Portuguese Pork Sandwiches (Bifanas) — Garlicky Wine-Braised Pork Rolls
Portuguese · Main Courses · 60 min

Tacos al Pastor (Tacos al Pastor) — Adobo-Marinated Pork Tacos with Pineapple
Mexican · Main Courses · 65 min

Fattet Hummus (فتة حمص) — Chickpeas with Yogurt and Crisp Bread
Lebanese · Main Courses · 30 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.