Terumi Morita
June 12, 2026·Recipes

Moqueca (Brazilian Fish Stew)

Moqueca is a vibrant Brazilian fish stew featuring layers of fresh ingredients simmered in coconut milk and dende oil.

Contents (5 sections)
A colorful bowl of Moqueca, showcasing vibrant layers of fish, peppers, and coconut milk.
RecipeBrazilian
Prep20m
Cook15m
Serves4 servings
LevelMedium

Ingredients

  • 600 g white fish fillets
  • 2 tbsp dende (palm) oil
  • 1 large onion, sliced
  • 2 bell peppers, sliced (preferably red and green)
  • 2 medium tomatoes, chopped
  • 400 ml coconut milk
  • 2 cloves garlic, minced
  • 1 tsp salt
  • 1 tsp black pepper
  • 1/2 tsp cayenne pepper (to taste)
  • fresh cilantro, for garnish

Steps

  1. In a large clay pot, heat the dende oil over medium heat until shimmering, about 2 minutes.

  2. Layer the onion, bell peppers, and tomatoes in the pot, seasoning each layer with salt and pepper. This builds flavor and ensures even cooking.

  3. Place the fish fillets on top of the vegetables, ensuring they are well arranged but not stirred. Sprinkle with garlic and cayenne pepper.

  4. Pour the coconut milk over the top, covering the ingredients completely. Bring to a gentle simmer over low heat for 15 minutes without stirring, allowing the fish to cook gently and retain its shape.

  5. Once cooked, remove from heat, garnish with fresh cilantro, and serve hot with rice.

Why this works

The technique of layering the ingredients instead of stirring is crucial in making Moqueca, as it allows the fish to steam gently in the rich, aromatic coconut milk without breaking apart. The dende oil (an orange-red oil pressed from African palm fruit, central to Afro-Brazilian cooking) adds a distinct flavor and contributes to the vibrant orange color of the dish. By not stirring, each layer retains its integrity, allowing the flavors to meld harmoniously. If the fish seems too delicate or begins to break apart, gently spoon some broth over it to maintain moisture without disturbing the layers. This method preserves the visual appeal and texture of the dish, making it a true centerpiece.

Common mistakes

Pulling the fish before it has fully cooked through. Target: simmer 15 minutes covered over low heat until the fish is opaque all the way through and flakes when probed gently with a fork. Why it matters: Moqueca is built on layered raw fish that cooks gently in the coconut-milk-and-vegetable steam. The fish must reach the point where it flakes cleanly and the flesh has gone from translucent to opaque — a center that still looks glassy is undercooked. White fish like cod or hake should be uniformly white throughout; firmer fish like grouper should yield slightly to a fork at the center with no glassy core remaining. What to do: Don't lift the lid in the first 10 minutes — every peek drops the heat and slows cooking. At 15 minutes, gently probe one fillet at its thickest point: it should separate into clean flakes with white opaque flesh and no translucent strip running through it. If still glassy in the middle, cover and simmer 3–5 more minutes. If you cooked it covered for 15 minutes at a true simmer and the fish was sliced no thicker than 2.5 cm, doneness is reliable.

Stirring the pot. Target: do not stir during the simmer; gently rotate the pot on the burner if you need to even out the heat. Why it matters: Moqueca's structure depends on the fish staying intact in clean layers. The whole point of building it layer-by-layer rather than as a stew is that the fish keeps its shape and texture through cooking. Stir even once and the fillets break into ragged pieces, the vegetables float in shreds, and the coconut milk can break (separating into oil and curds because mechanical agitation disrupts the fragile emulsion the fat and water form when undisturbed) — instead of a clean, layered dish you get a muddy fish hash. What to do: Once the layers are built and the coconut milk is poured, cover and walk away. If you need to make sure the bottom is not scorching, lift the lid briefly to check or tilt the pot in a swirl by the handle — never reach in with a spoon.

Letting the coconut milk break by boiling too hard. Target: a steady, gentle simmer — small bubbles rising to the surface, never a rolling boil. Why it matters: Coconut milk is an emulsion (fat droplets suspended in water, stabilized by natural proteins). Hard boiling shears the fat from the water, leaving an oil slick on top and a watery, slightly grainy liquid underneath. Once it breaks, you cannot whisk it back together — and the dish loses the creamy body that gives moqueca its name. What to do: Start with low heat. Once you see steady steam from under the lid, you are at simmer. If you hear vigorous bubbling, drop the heat further. If the milk does break, finish cooking gently and serve as-is — the flavor will still be good even if the texture is less polished.

Skipping the dende oil and substituting plain olive oil. Target: Bahian-style moqueca specifically uses dende (palm) oil for its orange color and distinctive aroma; if you do not have dende, accept that you are making a different version (Capixaba-style moqueca from Espírito Santo uses olive oil and annatto instead). Why it matters: Dende oil is not just a fat — it is a flavor and color foundation. Its red-orange pigment (carotenoids from the palm fruit) is what gives Bahian moqueca its glowing color, and its distinctive nutty-savory aroma threads through every bite. Plain olive oil produces a pale-yellow stew that tastes like a different dish entirely. What to do: Source dende oil (most South-American grocers or Brazilian specialty shops carry it; online retailers ship it) for Bahian-style moqueca. If unavailable, use olive oil and add 1/2 teaspoon of annatto seeds to the oil while heating (annatto is the Capixaba substitution — it gives some orange color but a different aroma). Be honest about the version you are making.

What to look for

  • A broth with a slight sheen of orange oil on top, not a separated grease layer. Properly held, the dende and coconut milk produce a glossy, gently-coloured surface — orange shimmer integrated into the broth. A thick, separated oil layer on top with watery liquid below means the heat got too high and the emulsion broke.
  • Fish that flakes cleanly when nudged with a fork. When ready, each fillet should give way along its natural grain into white, opaque flakes — not bend like raw fish nor crumble like overcooked. If you nudge and it resists with a glassy springiness, simmer covered another 2–3 minutes.
  • Vegetable layers that retain shape and color, not collapsed mush. The onions should still look like onion slices, the peppers should still be ribbon-shaped, and the tomatoes should be soft but identifiable. If everything has melted into one indistinct pulp, you stirred — or simmered too long beyond 20 minutes total.
  • A gentle, layered aroma rising when you lift the lid for the first time. Coconut-sweet, dende-nutty, garlic-savory, with a slight ocean note from the fish — all distinct, not fused. A sharp acrid edge means the oil scorched on the bottom; reduce heat immediately and finish the cook gently.

A note on history

Moqueca dates back over three centuries in Brazil and reflects the country's layered culinary history — Indigenous Tupi origins (the word "moqueca" descends from Tupi moquém, a method of cooking in a clay pot), Portuguese contributions of garlic, onions, and coriander from the 16th century onward, and African additions of dendê (palm) oil, coconut milk, and chilies introduced through the trans-Atlantic slave trade. Today moqueca exists in two main regional forms: Moqueca Baiana from Bahia (with coconut milk and dende oil — the version this recipe follows) and Moqueca Capixaba from Espírito Santo (lighter, using olive oil and annatto instead) (Wikipedia, Food and Road).

Get the essays in your inbox — free

Weekly notes on flavor, fermentation, and food history — the writing behind the Atlas of Flavor. No spam; unsubscribe anytime.