New video every week on YouTube →
Moqueca Recipe, Brazilian Fish Stew with Coconut Milk

Moqueca Recipe, Brazilian Fish Stew with Coconut Milk

A bright orange, silky broth with big pieces of fish that flake apart at a touch of the fork, scented with lime and cilantro. Most of the work is slicing vegetables while the fish marinates. Without dendê the stew turns paler and milder, closer to the Espírito Santo style. Leftovers keep 3 to 4 days, and the fish is what drives the cost, not the can of coconut milk.

Moqueca (moh-KEH-kah) is the fish stew of Bahia, on Brazil’s northeastern coast: chunks of firm white fish layered between onion, tomato and peppers, then cooked covered in coconut milk and dendê, a red palm oil that turns the broth deep orange. There’s no water and no stirring. The vegetables release their juices, the coconut milk makes the broth, and in about 20 minutes the fish is just cooked through. Below is the recipe for 4, which fish to buy at a US or UK fish counter, where to find dendê and what to use if you can’t, and what Brazilians serve alongside.

What moqueca tastes like, and how long it takes

How do you make moqueca? Marinate 1¾ lb (800 g) of firm white fish in 1½ in (4 cm) chunks with lime, garlic and salt for 15 to 30 minutes. Layer onion, peppers and tomato in a wide pot, add the fish in one layer and top with more vegetables, then pour over 13.5 oz (400 ml) of coconut milk and 2 tbsp of dendê oil. Cook covered, without stirring, for about 20 minutes, until the fish is opaque and reads 145°F (63°C). 55 minutes for 4 servings.

Think of it as a brothy stew, somewhere between a fish curry and a cioppino, but with neither curry spices nor wine. The broth is rich and slightly sweet from the coconut, fresh from the tomato, lime and cilantro, and the dendê adds a fruity, earthy depth you can’t get from any other oil. It isn’t spicy unless you add chile.

Two Brazilian states claim the dish. This is the Bahian version, with coconut milk and dendê. The Espírito Santo version, moqueca capixaba, uses neither: it’s colored with annatto and cooked in black clay pots.

If you like fish stews, the Colombian pescado sudado braises fish in a tomato and onion sauce with no coconut, and the Colombian fish in coconut sauce cooks the coconut sauce first and adds the fish after. For a fish soup rather than a stew, the Ecuadorian encebollado is tuna and yuca in a cumin broth.

Timing. 55 minutes in all: 30 to slice, marinate and layer, 25 on the stove including a 5-minute rest. Easy, as long as you keep the heat low and your spoon out of the pot.

Ingredients at a glance

Each person gets about 7 oz (200 g) of raw fish, with plenty of broth for rice.

IngredientMetricUSNotes and UK swaps
Firm white fish800 g1¾ lbThick fillets or steaks, see below
Coconut milk400 mlOne 13.5 oz canFull-fat, unsweetened
Dendê (red palm) oil45 ml3 tbspSubstitutes below
Onion200 g1 largeYellow or white
Tomatoes300 g2 mediumRipe
Bell peppers150 g + 150 g1 red + 1 green or yellow
Lime juice30 ml2 tbsp
Cilantro20 g1 small bunchUK: coriander
Shrimp, optional250 g9 ozUK: prawns

Which fish to buy

You want white, lean, firm fish cut 1½ in (4 cm) thick. A thin fillet, ½ to ¾ in, falls apart before the vegetables on top are cooked. Oily fish like salmon or mackerel hold up but overpower the coconut.

  • US. Halibut, mahi-mahi, grouper or red snapper. Cod and tilapia work as thick loins only, and they flake fast: no stirring and 2 minutes less.
  • UK. Monkfish is the firmest and the best. Sea bass and thick cod or hake loins also work, with the same care as cod.
  • Frozen. Fine if you thaw it overnight in the fridge and pat it very dry. Any water it releases thins the broth.
Which fish to buy for moqueca in the US and UKTable by country. Firm, the best choice: in the US halibut, mahi-mahi, grouper or red snapper; in the UK monkfish or sea bass. Works with care, as thick loins, no stirring and 2 minutes less: in the US cod or tilapia; in the UK cod or hake. Avoid: fillets ¾ inch (2 cm) thick or thinner, which fall apart, and oily fish such as salmon or mackerel, which overpower the coconut.USUKFirm, the besthalibut, mahi-mahi,grouper, red snappermonkfish,sea bassWith carecod or tilapia,thick loins onlycod or hake,thick loins onlyAvoidfillets ¾ in (2 cm)or thinnersalmon, mackerel:mask the coconut
Thickness matters most: 1½ in (4 cm) pieces of firm fish reach the table whole; a thin fillet falls apart even if you never touch it.

Shrimp. Many moquecas mix fish and shrimp. Add 9 oz (250 g) of peeled shrimp over the top for the last 4 or 5 minutes; they’re done when pink and opaque. About 45 extra calories per serving.

Dendê oil, where to find it and what to use instead

Dendê is pressed from the pulp of the African oil palm fruit. It’s thick, red-orange and strongly flavored, fruity and earthy at once, and it goes semi-solid in a cool kitchen; stand the bottle in warm water to loosen it.

Where to buy it. In the US, look in Brazilian and West African grocery stores, some Latin supermarkets, and online, sold as dendê oil or red palm oil. In the UK, African and Brazilian grocers and online shops carry it under the same names.

What not to buy. Refined palm oil is white and flavorless, and palm kernel oil comes from the seed, not the fruit. Neither gives you color or taste.

It burns easily. Dendê turns bitter over high heat on its own, so this recipe never fries it: it goes cold into the bottom of the pot, over the broth, and raw at the end.

If you can’t find it, nothing tastes the same. Pick the swap by what you want to keep:

  • Coconut oil plus 1 tsp ground annatto (achiote) or sweet paprika. Coconut oil is the closest in texture and sweetness; the annatto or paprika gives the color. The best match.
  • Olive oil with annatto. A paler, fresher stew that tastes more of tomato. Close to the Espírito Santo style, but with coconut milk.
  • Plain olive or vegetable oil. A good coconut fish stew, pale and without dendê’s depth.
Bahian, capixaba or no dendê, what changesComparison of three versions. Bahian, the recipe here: dendê oil, with coconut milk, deep orange color, fruity and earthy with coconut. Capixaba, from Espírito Santo: olive oil with annatto, no coconut milk, reddish, tastes more of tomato and fish, cooked in a clay pot. No dendê, with coconut oil and annatto or paprika: with coconut milk, lighter orange, milder coconut flavor without dendê’s depth; the closest swap.BahianCapixabaNo dendêFatdendê oilolive oilwith annattococonut oil withannatto or paprikaCoconut milkyes, 13.5 oznoyes, 13.5 ozColordeep orangereddishlight orangeFlavorfruity, earthy,coconuttomatoand fishmild coconut,no dendê depthBest forthis recipeno coconutno Brazilianstore nearby
Dendê brings a color and taste no swap copies: coconut oil with annatto gets you closest, and without coconut milk you’re making the capixaba.

Coconut milk. Full-fat, from a 13.5 oz (400 ml) can, shaken before opening. Light coconut milk makes a watery broth, and sweetened cream of coconut (the cocktail kind) won’t work.

Equipment. A wide 11 in (28 cm) pot or Dutch oven with a lid, big enough for the fish in a single layer. Brazilians use clay pots; enameled cast iron works just as well.

Step by step, with the signs to look for

The order of work is what keeps this to under an hour: the fish marinates while you slice, and once the pot is layered there’s little to do but watch the heat.

Moqueca work plan, 55 minutes55-minute timeline for 4 servings. Minutes 0 to 10: cut and marinate the fish. Minutes 10 to 30: the fish sits in the fridge with lime, garlic and salt while, at the same time, you slice the vegetables and layer the pot. Minutes 30 to 40: covered over medium heat until the broth bubbles at the edges. Minutes 40 to 50: covered on low until the fish reaches 145°F (63°C). Minutes 50 to 55: finish with dendê and cilantro and rest, covered.01020304050minutesCut and marinate fish10 minMarinating in the fridge20 minSlice vegetables, layer20 minCovered, medium heat10 minLow heat to 145°F10 minDendê, cilantro, rest5 minhands-onin the fridge or on the heat, no stirring
The marinade and the slicing happen at the same time: by minute 30 the pot is layered, and after that you only watch the heat.

1. A short marinade. Lime, garlic and salt, 15 to 30 minutes in the fridge. The point is seasoning, not cooking: lime starts to turn the surface white, the way it does in ceviche, and past half an hour the edges go rubbery. Drain off any liquid before layering.

2. Layers. A film of dendê, half the vegetables with a pinch of salt and cilantro, the fish in one layer, then the rest of the vegetables. The bottom layer shields the fish from direct heat, the top one traps steam. The vegetables give up their juices, which, with the coconut milk, become the broth. That’s why there’s no water.

3. Heat. Medium, covered, about 10 minutes, until the broth bubbles at the edges. Then low for 8 to 10 minutes, with gentle bubbles only. A hard boil splits the coconut milk and breaks the fish. Instead of stirring, swirl the pot by its handles once, or spoon some broth over the top.

4. Doneness. The fish is ready when it’s opaque all the way through, flakes when pressed with a fork, and reads 145°F (63°C) in the center of the thickest piece on an instant-read thermometer.

Moqueca temperatures, from fridge to bowlScale from 32 to 212°F. 40°F (4°C) or below: the fridge, where the fish marinates and leftovers are stored. 145°F (63°C) in the center of the thickest piece: the fish is done, opaque and flaking. 165°F (74°C): reheat leftovers to this. 212°F (100°C): a hard boil, which splits the coconut milk and breaks the fish; after the first bubbles at the edges, turn to low.40°F (4°C)marinade, leftovers145°F (63°C)fish is done165°F (74°C)reheat leftovers212°F (100°C)hard boil, avoid50°F100°F150°F200°F
The number that matters is 145°F (63°C) in the center of the fish. Reheat leftovers to 165°F (74°C), gently and without a hard boil.

5. Finish. Heat off, the last tablespoon of dendê, the rest of the cilantro, a taste for salt and a squeeze of lime if it needs it. Rest 5 minutes, covered, and bring the pot to the table.

Why moqueca goes wrong

  • The fish broke into crumbs. It was stirred, or the fillets were too thin. Swirl the pot, not the fish, and buy 1½ in (4 cm) pieces.
  • Greasy, split broth. It boiled hard. Drop to low as soon as the edges bubble; on the lowest heat with a swirl it usually comes back together in a minute or two.
  • Rubbery fish. It sat in lime for hours. 30 minutes at most.
  • Bitter edge. The dendê was fried on high heat. Keep it off direct high heat.
  • Thin, watery broth. Wet or poorly thawed fish, or light coconut milk. Move the fish to a plate and reduce the broth uncovered for 3 or 4 minutes.
  • Flat taste. It needs salt or lime more than spices. Taste at the end.

Allergens and heat. Contains fish and, with shrimp, shellfish. It’s naturally gluten-free and dairy-free. Without chile it’s mild, and kids usually like it if they don’t mind cilantro.

Versions, for a crowd and the Espírito Santo style

  • Shrimp moqueca. 1½ lb (700 g) of peeled shrimp on the bottom vegetable layer; once the broth bubbles, 4 to 5 minutes on low. Any longer and they toughen.
  • Moqueca capixaba. No coconut milk and no dendê: olive oil colored with annatto, fish steaks, tomato, onion and cilantro, cooked covered with no water in a clay pot. Lighter, redder, and it tastes more of fish and tomato. Served with rice and pirão.
  • For 8 or 12. Double or triple the recipe and use two pots, or one very wide one, so the fish stays in a single layer. Stacked two layers deep in a tall pot, it takes about 40 minutes and the bottom layer cooks before the top.
  • Make-ahead. Slice the vegetables the day before and keep them covered in the fridge. Marinate the fish on the day, just before layering.

The fish, and the shrimp if you add them, are what make this expensive; the coconut milk and vegetables barely register. Halibut and monkfish cost the most; grouper, mahi-mahi or thick frozen cod loins bring it down.

What to serve with moqueca

In Brazil it goes to the table in its pot, with these around it:

  • White rice, about 1 cup cooked per person. Fluffy Colombian white rice is cooked the same plain way.
  • Farofa, cassava flour toasted in butter, sprinkled on top for crunch. The method is in the Brazilian feijoada with all its sides, and it can be made that morning.
  • Pirão, a soft porridge of cassava flour and fish stock.

Pirão. Warm 2 cups (500 ml) of fish stock, homemade or from a cube, with 2 ladles of moqueca broth. Over low heat, sprinkle in 1 cup of coarse cassava flour (farinha de mandioca) a little at a time, whisking so it doesn’t lump, and keep stirring until it’s as thick as soft polenta and no longer tastes of raw flour. Add hot stock if it gets too thick. Look for farinha de mandioca in Brazilian shops or online; tapioca starch and fine cassava baking flour won’t work.

For a Brazilian dessert after, brigadeiros can be rolled the day before.

Storing and reheating

Fridge. Refrigerate within 2 hours in a covered container; it keeps 3 to 4 days. Raw fish should be cooked within 2 days of buying.

Freezer. Best fresh, but it freezes for 2 to 3 months. The fish softens and breaks up a little after thawing, and the coconut milk may look split; it comes back together as it warms. Thaw in the fridge.

Reheating. In a covered pot over low heat, swirling rather than stirring, until the broth steams and the fish reaches 165°F (74°C) in the center. If there’s shrimp, lift them out and add them back for the last minute only. In the microwave, use medium power in 1-minute bursts.

Moqueca questions

Can I make moqueca ahead of time? Not all the way: reheated, the fish breaks and loses juice. Slice the vegetables and make the pirão stock the day before; the cooking itself takes 25 minutes.

I don’t like cilantro. What else works? In Brazil cooks often use cheiro-verde, half cilantro and half chives. Chives or parsley alone make a milder stew without the fresh, citrusy note, but it still works.

Is moqueca the same as a Thai fish curry? No. Both use coconut milk, but moqueca has no curry paste, no fish sauce and no lemongrass. Its flavor comes from tomato, peppers, lime, cilantro and dendê.

Moqueca nutrition

Per serving (7 oz / 200 g raw fish with its share of vegetables and broth, without shrimp or rice), calculated ingredient by ingredient from the recipe:

  • Calories: 510 kcal
  • Protein: 40 g
  • Carbohydrates: 16 g
  • Fat: 33 g, including 24 g saturated
  • Fiber: 3 g
  • Sugar: 7 g
  • Sodium: 715 mg

Most of the saturated fat comes from the coconut milk and dendê, which together account for more than half the calories. Shrimp add about 45 calories per serving; a cup of cooked white rice adds about 200.

I keep the marinade to lime, garlic and salt, because the layers bring everything else, and I build the stew in the pot I serve it in so nothing gets moved twice. The dendê goes in at three moments, and the last drizzle, raw with the heat off, is the one you taste most at the table. Josnaisis.

Moqueca Recipe, Brazilian Fish Stew with Coconut Milk

Moqueca Recipe, Brazilian Fish Stew with Coconut Milk

By Josnaisis Ramirez · Gran Receta

Rate
★ ★ ★ ★ ★
✓ Thanks!

Prep

30 min

Cook

25 min

Servings

4

people

Total

55 min

Difficulty

Easy

Cuisine

Brazilian

Calories

510 kcal

Ingredients

For 4 servings · Check off what you have

Instructions

1

Pat the fish dry and toss it in a bowl with the lime juice, garlic, ½ tsp salt and the pepper. Cover and refrigerate for 15 to 30 minutes, no longer.

2

Meanwhile, slice the onion and peppers into rings and the tomatoes into 5 mm (¼ in) slices, and chop the cilantro.

3

Grease the bottom of a wide 28 cm (11 in) pot or Dutch oven with a lid with 1 tbsp dendê. Lay in half the onion, peppers and tomato, a pinch of salt and half the cilantro.

4

Lift the fish out of any liquid it has released and arrange it on top in a single layer, with its garlic. Cover with the rest of the onion, peppers and tomato, the remaining salt and the chile, if using.

5

Pour the coconut milk over and drizzle with another 1 tbsp dendê. Don't add water. Cover and set over medium heat for about 10 minutes, until the liquid bubbles at the edges.

6

Turn the heat to low and cook covered for 8 to 10 minutes without stirring; swirl the pot by its handles once so the broth washes over everything. If using shrimp, scatter them over the top for the last 4 or 5 minutes. It's done when the fish is opaque, flakes when pressed and reads 145°F (63°C) in the center of the thickest piece; the shrimp should be pink and opaque.

7

Turn off the heat, drizzle with the last 1 tbsp dendê, add the rest of the cilantro, taste for salt and let it rest, covered, for 5 minutes before serving.

Nutrition

Approximate values per serving · 4 servings total

510

kcal

40g

Protein

16g

Carbs

33g

Fat

3g

Fiber

24g

Sat. fat

715mg

Sodium

7g

Sugar

Tip: Don't stir a moqueca: the spoon breaks the fish, not the heat. Swirl the pot by its handles and let the steam and coconut milk do the work. Keep the marinade short, too: after 30 minutes in lime the edges of the fish turn white and rubbery before it ever reaches the pot.
#moqueca#brazilian fish stew#moqueca baiana#coconut fish stew#brazilian food
Josnaisis Ramirez
Josnaisis Ramirez · Cook & author

Mom of Dylan and home-cooking enthusiast. I share the Venezuelan and Colombian recipes that shaped my life. My story →

Link copied! Now you can share it