Skip to content
GetCookMatch
⌘K
Moqueca Baiana (Brazilian Fish and Shrimp Stew) with firm white fish, shrimp and coconut milk — Brazil recipe
Brazil · Fish and Seafood Dishes · High protein

Moqueca Baiana (Brazilian Fish and Shrimp Stew)

Moqueca baiana is a Brazilian fish and shrimp stew from Bahia, simmered gently in coconut milk with tomatoes, peppers, onion, and lime, then finished with dendê — red palm oil that turns the sauce a deep orange and adds a nutty, faintly smoky depth found in no other stew. The recipe blends Indigenous, African, and Portuguese cooking, and it's built in layers rather than stirred, cooked on low heat so the fish stays in whole pieces. The fish and shrimp marinate in lime and garlic for 20–30 minutes first, which is not counted in the time. It's served hot over white rice, straight from the pot it was cooked in.

45 min 530 kcal 4 serves Medium💪High protein🇧🇷Brazil Jump to recipe
Recipes by emailSubscribe →

Ingredients

ServingsMetric
  • 600 gfirm white fish
  • 300 graw shrimp (peeled weight)
  • 400 mlcoconut milk
  • 3 pcstomato
  • 2 pcsonion
  • 1 pcsred bell pepper
  • 4 clovesgarlic
  • 2 pcslime
  • 3 tbspdende palm oil
  • 1 bunchcoriander
  • to tastesalt and pepper

Method

  1. Cut the fish into large chunks and peel the shrimp. Toss both with the juice of one lime, half the garlic, salt, and pepper, and marinate 20–30 minutes in the fridge.
  2. Slice the onion, tomatoes, and bell pepper into rounds. Chop the remaining garlic and the coriander stems, keeping the leaves for garnish.
  3. In a wide pot or clay pot, build a layer with half the onion, then half the tomato, then half the pepper across the base. Scatter over the chopped garlic and coriander stems.
    Layers of sliced onion, tomato and red pepper with chopped garlic and coriander stems in a wide white pot
  4. Lay the marinated fish over the vegetables and spoon over the juices from the bowl, then cover with a second layer of the remaining onion, tomato, and pepper. Season each layer lightly with salt and pepper. Keep the shrimp refrigerated for now — they go in later.
  5. Pour the coconut milk evenly over the top. Bring to a gentle simmer over medium heat, then cover, lower the heat, and cook 12–15 minutes without stirring — swirl the pot instead so the fish stays intact. Then nestle the shrimp into the sauce, cover again, and cook 3–4 minutes more, just until the shrimp are pink and opaque and the fish flakes easily (63°C / 145°F in the thickest chunk).
    Moqueca baiana: shrimp nestled into the coconut sauce among fish chunks, tomato and pepper, white pot on a gas burner
  6. Warm the dendê in a small pan just until loose, then drizzle it over the stew. Keep the heat under the pot low so the coconut milk doesn't split.
    Moqueca baiana: orange dendê palm oil drizzled from a spoon over the creamy coconut stew with shrimp, white pot on gas
  7. Scatter the reserved coriander leaves and a final squeeze of lime over the top. Serve hot, straight from the pot, over white rice.

FAQ

Dendê is unrefined red palm oil, an African ingredient central to Bahian cooking. It gives moqueca its glowing orange colour and a distinctive nutty, faintly smoky, slightly earthy flavour that truly defines the dish. There's no exact substitute: for colour alone you can warm a neutral oil with sweet paprika or a little annatto, but the flavour will be missing. It's worth sourcing from a Latin, African, or online grocer. Use it sparingly; this recipe adds it near the end, though many Bahian cooks let it simmer with the stew.

Keep browsing

More dishes from the Brazilian archive — picked by overlap with what you're cooking now.

Share this recipe

Rate this

Rate this recipe

Print a recipe card

VintageModernBistro

Recipes by email

One letter a week: a recipe picked for your taste, plus whatever is new on the site. Unsubscribe in one click.

Welcome gift: Sergei's cookbook (e-book).

By subscribing you agree to the privacy policy.

Tell us what you like to cook (30 seconds) →

Join the conversation

Comments

Leave a comment

No comments yet — be the first!