
Moqueca Baiana (Bahian Coconut Fish Stew)
The shining centerpiece of Afro-Brazilian Bahia cooking — firm white fish and shrimp simmered in coconut milk, palm oil, tomato and pepper, finished with cilantro and lime over white rice.
About This Recipe
Moqueca baiana is the Atlantic-and-African heart of Brazilian cuisine, a vivid, golden stew of fish and shrimp simmered in coconut milk and dendê (red palm oil) with onion, tomato, sweet pepper, garlic, cilantro and a long squeeze of lime. The dish comes from Bahia in northeastern Brazil, where the Afro-Brazilian Candomblé tradition shaped a kitchen that uses palm oil and coconut milk the way Mediterranean cooks use olive oil and wine — as foundational flavor. The fish (firm white varieties like grouper, snapper, mahi-mahi, sea bass or monkfish) marinates briefly in lime, salt and garlic, then layers into a wide clay or enameled pot called a panela de barro with slices of onion, tomato and red pepper and a final pour of coconut milk and dendê oil. Lid on, gentle heat for fifteen minutes, and the kitchen fills with one of the most intoxicating aromas in world cooking — sweet coconut, smoky palm oil, brightness of citrus and pepper. Served over fluffy white rice with a side of farofa (toasted cassava flour) for crunch and pirão (a porridge made from the stew's broth thickened with cassava flour), moqueca baiana is the kind of dish that defines an entire cuisine in a single bowl.
Ingredients
Serves 4
- 600 gfirm white fish (grouper, snapper, mahi-mahi or sea bass), cut into 5 cm chunks
- 300 glarge peeled raw shrimp
- 3 tbspfresh lime juice (plus wedges to serve)
- 4garlic cloves, minced
- 1.5 tspsalt
- 1 tspfreshly cracked black pepper
- 1 tspground cumin
- 60 mlolive oil
- 2onions, sliced into 5 mm rings
- 1red bell pepper, sliced into rings
- 1yellow bell pepper, sliced into rings
- 3ripe tomatoes, sliced into 5 mm rounds
- 1jalapeño or mild chili, sliced (optional)
- 400 mlfull-fat coconut milk
- 3 tbspdendê (red palm oil) — essential
- 1 large bunchfresh cilantro, chopped
- to serve: white rice, farofa (toasted cassava flour), lime wedges
Instructions
- 1
Marinate the seafood
In a bowl, toss the fish chunks and shrimp with lime juice, minced garlic, salt, pepper and cumin. Cover and refrigerate 15–20 minutes — long enough to season, short enough that the lime doesn't 'cook' the fish.
- 2
Build the base
Pour the olive oil into a wide heavy pot or clay panela (enameled cast iron works well) and warm over medium-low heat. Layer half the onion rings across the bottom, then half the tomato, then half the pepper. Repeat the seasoning vegetables.
Don't pre-sauté — the slow steam from the layered vegetables is what makes moqueca special. No browning.
- 3
Layer the seafood
Arrange the marinated fish in a single layer over the vegetables. Scatter the shrimp on top. Pour any remaining marinade over.
- 4
Top vegetable layer
Cover the seafood with another layer of onion, tomato, pepper and the optional jalapeño slices. Tuck most of the chopped cilantro between the layers, reserving some for finishing.
- 5
Add coconut milk and dendê
Pour the coconut milk evenly over the top, followed by the dendê oil. The dendê will pool brilliantly orange — don't stir; it's meant to dot the surface and color the stew as it cooks.
- 6
Simmer gently
Place the lid on the pot. Bring to a gentle simmer over medium-low heat — never let it boil hard, which would toughen the fish. Simmer 15 minutes, until the fish is opaque and flakes easily and the shrimp are curled and pink.
- 7
Rest and finish
Pull the pot off the heat. Lift the lid and scatter the remaining cilantro over the top. Let rest 3 minutes before serving — the broth thickens slightly as it settles.
- 8
Serve
Serve directly from the pot at the table, with a separate bowl of steamed white rice and a small bowl of farofa for sprinkling. Pass lime wedges. Each diner spoons rice onto their plate, ladles moqueca over with plenty of broth, and sprinkles farofa on top for crunch.
Did you make this?
Rate it and help other cooks find the recipes that actually work.
One tap to sign in, and we'll save the rating you just picked.
Everything you need to plan your week — free
- Meal calendar
- Grocery list
- AI recipe ideas
Track what you eat
Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.
Pro Tips
- →
Dendê (red palm oil) is non-negotiable for authentic moqueca baiana. It gives the dish its color, smoky aroma and signature flavor. Brazilian or West African groceries stock it; substitute is poor — use a blend of olive oil and a pinch of paprika as a fallback.
- →
Don't stir during cooking — the layered approach is what makes moqueca baiana different from a regular fish stew. Just shake the pot gently if needed.
- →
Firm fish is essential — flaky white fish like cod will fall apart. Grouper and mahi-mahi are perfect.
- →
Make farofa by toasting 100 g cassava flour with 1 tbsp dendê and a pinch of salt in a dry skillet for 3 minutes until golden.
Variations
- •
Moqueca capixaba — from the neighboring state of Espírito Santo, lighter, made without coconut milk and dendê — uses just tomato, urucum (annatto) oil and herbs.
- •
Moqueca de camarão — shrimp-only version, faster cooking (10 minutes total simmer).
- •
Vegetarian moqueca de banana-da-terra — substitutes ripe plantains and king oyster mushrooms for the fish.
- •
Moqueca de palmito — palm hearts instead of seafood, popular among Brazilian vegetarians.
Storage
Best fresh — reheat gently 1 day later if needed but the seafood firms up. Refrigerate up to 2 days. Do not freeze — coconut milk separates and fish texture suffers. The cooking liquid (broth) freezes fine on its own.
History & Origin
Moqueca dates back at least 300 years to the Tupinambá indigenous people of the Brazilian coast, who steamed fish in banana leaves over fire. African slaves brought to Bahia in the 16th–18th centuries introduced palm oil, coconut milk and the cooking style that became moqueca baiana. The dish is sacred in Candomblé religious tradition and is offered to the orixá Iemanjá.
Frequently Asked Questions
What if I can't find dendê oil?
There's no perfect substitute. Use a blend of 2 tbsp olive oil + 1 tsp paprika + a tiny pinch of annatto seeds infused in the oil. The result is close in color but the flavor is missing.
Can I use frozen fish?
Yes — thaw completely and pat dry before marinating. Frozen mahi-mahi or grouper are widely available and work well.
What's pirão?
A traditional accompaniment — take a ladle of the moqueca broth, whisk in 60 g cassava flour off heat until it forms a thick porridge. Serve in small bowls alongside.
Can I add coconut cream for richness?
Yes — replace 100 ml of the coconut milk with coconut cream for a richer, restaurant-style version. Don't overdo it or the dish becomes heavy.
Nutrition Facts
Per serving (420g / 14.8 oz) · 4 servings total
Time Summary
Have Questions?
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Featured in Guides
This recipe is featured in the following curated guides:
More Brazilian Recipes
You Might Also Like
Similar dishes from other cuisines around the world.
Browse by Ingredient
More recipes built around the same core ingredients.
Free Kitchen Tools
Calculators and converters that pair with this page — no signup needed.
Put This Into a Plan
Schedule it, shop for it, and track what you already have.
Read Next
Longer reads that go deeper on the ideas behind this dish.
Community
Join the conversation
Sign in to leave a comment and save your favourite recipes