Goya Brazilian Fish Stew with Coconut Milk

Updated November 3, 2026

Total time
50 min
prep 25 min · cook 25 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Goya Brazilian Fish Stew with Coconut Milk

Goya Brazilian fish stew is a home-style take on moqueca, a coastal Brazilian stew of fish, peppers, tomatoes, coconut milk, and herbs. Goya coconut milk makes the broth creamy, while lime and cilantro keep it bright; Brazilian moquecas vary by region and household, so this version is one practical interpretation rather than a single definitive formula.

Ingredients

  • 1½ lb (680 g) firm white fish fillets, such as cod, haddock, halibut, or snapper, cut into 2-inch (5 cm) pieces
  • 1 tsp (5 g) fine salt, divided, plus more to taste
  • ½ tsp (1 g) freshly ground black pepper
  • 2 tbsp (30 ml) fresh lime juice, plus lime wedges for serving
  • 1 tbsp (15 ml) olive oil, for the vegetables
  • 1 tbsp (15 ml) dendê oil, also called red palm oil, or 1 tbsp (15 ml) olive oil mixed with ¼ tsp (0.5 g) annatto powder
  • 1 medium yellow onion (about 8 oz / 225 g), thinly sliced
  • 1 medium red bell pepper (about 6 oz / 170 g), thinly sliced
  • 1 medium green bell pepper (about 6 oz / 170 g), thinly sliced
  • 3 garlic cloves (about 9 g), finely chopped
  • 2 medium ripe tomatoes (about 10 oz / 280 g), chopped, or 1½ cups (270 g) canned diced tomatoes, drained
  • 1 tbsp (16 g) tomato paste
  • ½ tsp (1 g) ground cumin
  • ½ tsp (1 g) sweet paprika
  • 1 bay leaf
  • 1 can Goya coconut milk, 13.5 fl oz (400 ml), well shaken
  • ½ cup (120 ml) low-sodium fish stock or water
  • ½ cup (15 g) loosely packed fresh cilantro leaves and tender stems, roughly chopped, divided
  • 2 scallions (about 30 g), thinly sliced, for finishing

Instructions

  1. Prepare and season the fish. Pat the fish dry and cut it into evenly sized pieces so they cook at about the same rate. In a bowl, gently toss the pieces with ½ teaspoon of the salt, the black pepper, and the lime juice. Set the fish aside for 10 minutes while you slice the onion and peppers, chop the garlic and tomatoes, and measure the remaining ingredients. Keep the marinating fish refrigerated if your kitchen is warm; do not leave seafood at room temperature for an extended period.
  2. Start the vegetables. Set a wide, heavy pot or deep skillet over medium heat. Add the olive oil and dendê oil. When the oil is warm, add the onion and both bell peppers. Cook for 7 minutes, stirring now and then, until the onion is softened and the peppers are beginning to turn tender. They should retain some shape rather than collapse into a paste.
  3. Build the tomato base. Stir in the garlic and cook for about 30 seconds, just until fragrant. Add the chopped tomatoes, tomato paste, cumin, paprika, bay leaf, and remaining ½ teaspoon salt. Cook for 5 minutes, stirring occasionally, until the tomatoes soften and the paste is evenly worked into the vegetables. If the mixture begins sticking before the tomatoes release their juices, add a tablespoon of water.
  4. Add coconut milk and simmer. Pour in the coconut milk and fish stock, then stir gently to combine without breaking up the vegetables. Bring the liquid to a gentle simmer over medium heat, which should take about 5 minutes. Avoid a hard boil: steady bubbling can make coconut milk look separated and can reduce the broth too quickly. Taste a spoonful and add a little salt if needed, remembering that the fish will contribute more flavor.
  5. Cook the fish in the stew. Nestle the fish pieces into the simmering broth in a single layer as much as possible. Spoon a little sauce over the tops, cover the pot, and simmer gently for 8 minutes. Check a thick piece with a food thermometer; USDA FSIS lists 145°F (63°C) as the safe minimum internal temperature for fish. The flesh should also look opaque and separate easily into flakes. If a piece has not reached temperature, cover and cook for 1 minute more, then check again. Handle the fish gently so the pieces stay intact.
  6. Finish and serve. Turn off the heat and remove the bay leaf. Stir in half of the cilantro, keeping the spoon around the fish rather than mashing through it. Scatter the remaining cilantro and sliced scallions over the stew. Serve hot with lime wedges, letting each person add a squeeze at the table.

Tips

  • Choose fish that holds together. Cod, halibut, snapper, and haddock work well when cut into generous pieces. Very thin fillets or delicate fish can break up in the broth; if that is what you have, fold them in during the final few minutes and move them as little as possible. Thaw frozen fish completely in the refrigerator and pat it dry before seasoning.
  • Know what dendê contributes. Dendê, or red palm oil, is traditional in many Bahia-style moquecas and gives the stew a distinctive earthy aroma and warm orange color. It can be found in Brazilian or West African markets and some online shops. If it is unavailable, olive oil with annatto adds color but tastes milder and less distinctive; plain olive oil also works.
  • Keep the broth at a gentle simmer. A rolling boil can make coconut milk separate and can cause the fish to toughen or fall apart. Once the fish goes in, use low to medium-low heat and keep the lid on. Start checking at 8 minutes because fillet thickness and the temperature of the broth affect the cooking time.
  • Season in stages. Salt the fish lightly, then taste the broth before adding more. Stock, canned tomatoes, and different brands of coconut milk vary in saltiness. Lime is best added to the fish before cooking and again at the table, rather than adding a large extra amount to the pot and making the coconut broth sharply sour.

Serving Suggestions

Serve the stew in shallow bowls with steamed white rice, which catches the coconut-and-tomato broth. Brazilian-style white rice is a natural partner, but plain long-grain rice, jasmine rice, or brown rice all work. For a heartier meal, add farofa, toasted cassava flour, on the side; its dry, crumbly texture contrasts nicely with the smooth sauce. Farofa is sold in Brazilian grocery stores, and toasted breadcrumbs can provide crunch in a pinch, though they do not have cassava’s flavor.

Round out the table with a simple green salad, sliced avocado, or cooked greens. Keep the accompaniments lightly seasoned so they do not compete with the stew’s peppers, cilantro, and lime. Set extra lime wedges on the table, but let diners squeeze them into their own bowls. If serving rice, start it before the stew reaches its final simmer so both are hot at the same time; rice cooking is not included in the recipe’s 50-minute total.

Variations

Use shrimp with the fish. Replace up to half the fish with peeled, deveined shrimp. Add the shrimp during the final 4 to 5 minutes of simmering, and check that the shrimp are opaque and cooked through. They cook faster than fish chunks, so avoid adding them at the beginning. You can also use all shrimp, but reduce the cooking time and check early.

Make a milder, less rich broth. Use light coconut milk, or replace up to half of the full-fat coconut milk with additional low-sodium stock. The stew will be thinner and less creamy, but the tomatoes, peppers, and herbs will still flavor it. Do not replace all the coconut milk with water unless you are happy with a much lighter, less characteristic sauce.

Adjust the vegetables and heat. Add a sliced yellow or orange bell pepper in place of one of the peppers listed, or stir in a finely chopped mild chili with the garlic for gentle heat. For a hotter stew, serve sliced fresh chili at the table so the heat can be adjusted bowl by bowl. Extra vegetables can make the pot crowded; use a wide pot and avoid adding so much that the broth no longer surrounds the fish.

Try another firm seafood option. Thick-cut mahi-mahi or pollock can stand in for the fish listed, though leaner fish may cook a little faster. Avoid mixing many seafood types with very different cooking times in one pot. If combining fish and shrimp, add the fish first and add shrimp near the end, checking each for doneness separately.

Storage and Reheating

Refrigerate leftover stew within 2 hours of cooking, in a shallow airtight container, and use it within 3 to 4 days. For the best texture, store rice separately from the stew. The fish may become softer after sitting in the sauce, but the flavors will remain pleasant. Do not leave the pot out to cool for several hours; divide a large batch into smaller containers so it cools more quickly.

Reheat only the portion you plan to eat. Warm it gently in a covered saucepan over low heat, stirring the broth carefully and turning the fish pieces once if needed. Heat leftovers to 165°F (74°C), checking with a food thermometer, as recommended for reheated leftovers. If the sauce has thickened in the refrigerator, add a tablespoon or two of water or stock while reheating. Avoid repeated heating and cooling, which can further break up the fish. Freeze leftovers in a freezer-safe container for up to 2 months for best quality; thaw overnight in the refrigerator and reheat to 165°F (74°C).

Frequently Asked Questions

What is Brazilian fish stew called?

Many Brazilian fish stews are called moqueca. Moqueca is associated with coastal cooking, and recipes differ by region and household. Bahia-style versions often include coconut milk and dendê oil, while other versions may use different seasonings or omit coconut milk. This recipe takes inspiration from the coconut-rich style and adapts it for a home stove.

Can I use frozen fish?

Yes. Thaw it in the refrigerator, then pat it dry before seasoning so excess water does not dilute the broth. If the fish releases liquid as it thaws, pour that liquid away. Do not put a frozen block directly into the stew: it can cool the broth unevenly, release a lot of water, and make it harder to judge when the fish is safely cooked.

Can I make this stew without dendê oil?

Yes. Use the olive-oil-and-annatto substitute in the ingredient list, or use olive oil alone. Annatto helps reproduce dendê’s color but not its particular aroma, so the result will taste milder. The stew will still be flavorful from the peppers, tomatoes, coconut milk, lime, and cilantro.

How do I keep the fish from falling apart?

Cut the fish into pieces about 2 inches (5 cm) across, simmer the broth before adding them, and avoid stirring once they are in the pot. Spoon broth over the fish instead of turning it repeatedly. Choose firm fillets and stop cooking as soon as the thickest pieces reach 145°F (63°C); continuing to simmer can make them dry and fragile.

Can I make the stew ahead?

You can prepare the sliced vegetables and measure the seasonings a day ahead, storing them covered in the refrigerator. For the freshest texture, cook the broth base ahead but add and cook the fish shortly before serving. If the complete stew is made in advance, cool and refrigerate it promptly, then reheat leftovers to 165°F (74°C); expect the fish to be softer than when freshly cooked.

Is Goya coconut milk sweetened?

Use plain, unsweetened canned coconut milk, not a sweetened coconut beverage or cream of coconut intended for desserts and drinks. Shake the can well before opening because the thick cream can separate from the liquid during storage. If the can is unusually thick, whisk it briefly before measuring so it blends smoothly into the broth.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).