Brazilian Moqueca: Coconut-Lime White Fish Stew Recipe

Updated November 3, 2026

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

Jump to recipe

Brazilian Moqueca: Coconut-Lime White Fish Stew Recipe

Brazilian moqueca is a gently simmered fish stew, often made in Bahia with coconut milk, tomatoes, peppers, herbs, and fragrant dendê (palm oil). This practical white-fish version builds a savory, lightly tangy sauce in one pan, then cooks the fish just until tender; serve it with rice to catch every spoonful.

Ingredients

  • 1½ lb (680 g) firm white fish fillets, such as cod, halibut, haddock, or sea bass, cut into pieces about 1½ inches (4 cm) wide
  • 1 tsp (6 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
  • 2 tbsp (30 ml) neutral oil, such as avocado or canola oil
  • 1 medium yellow onion (about 200 g), thinly sliced
  • 1 red bell pepper (about 180 g), cored and thinly sliced
  • 1 green bell pepper (about 150 g), cored and thinly sliced
  • 3 garlic cloves (about 9 g), finely chopped
  • 1 tsp (2 g) sweet paprika
  • ½ tsp (1 g) ground cumin
  • 1 lb (450 g) ripe tomatoes, chopped, or one 14.5 oz (411 g) can diced tomatoes, including their juice
  • ½ cup (120 ml) water or unsalted fish stock
  • 1 can (13.5 oz/400 ml) full-fat coconut milk, well shaken
  • 1 tbsp (15 ml) dendê oil, optional
  • ½ cup loosely packed (15 g) fresh cilantro leaves and tender stems, roughly chopped
  • 2 tbsp (8 g) chopped fresh parsley, optional
  • 1 small red chile (about 10 g), thinly sliced, optional

Instructions

  1. Prepare the fish and vegetables. Pat the fish dry with paper towels and cut it into evenly sized pieces so it cooks at a similar pace. Season with half of the salt and all the black pepper; set aside while you prepare the vegetables. Slice the onion and peppers, chop the garlic and tomatoes, and measure the spices, liquid, and coconut milk. Keep the lime juice for the end rather than leaving the fish to sit in it, which can firm the surface and make the texture less even.
  2. Soften the onion. Set a wide, heavy pot or deep skillet over medium heat and add the neutral oil. When it shimmers, add the onion and cook for about 5 minutes, stirring now and then, until softened and translucent but not browned. A wide pan gives the vegetables room to soften and lets the fish pieces sit in a mostly single layer later.
  3. Cook the peppers and aromatics. Stir in the red and green peppers and cook for 4 minutes, until they begin to soften while still holding their shape. Add the garlic, paprika, and cumin. Stir continuously for about 1 minute, just until fragrant; garlic can turn bitter if it browns, so lower the heat if the pan is sizzling aggressively.
  4. Build the tomato base. Add the chopped fresh tomatoes or canned tomatoes with their juice, the water or fish stock, and the remaining salt. Stir, scraping the bottom of the pot to loosen any flavorful browned bits. Simmer uncovered for 6 minutes, stirring once or twice, until the tomatoes soften and the mixture looks saucy rather than watery.
  5. Add the coconut milk. Pour in the shaken coconut milk and stir gently to combine. Bring the sauce to a gentle simmer over medium-low heat, then cook for 4 minutes. Avoid a hard boil: steady, small bubbles are enough, and a gentler simmer helps keep the coconut sauce smooth. Taste the sauce and adjust the salt if needed before adding the fish.
  6. Simmer the fish until done. Nestle the fish pieces into the sauce in one layer as much as possible, spoon a little sauce over the tops, and cover the pot. Simmer gently for about 9 minutes, checking a thick piece near the end. The fish should be opaque and separate easily with a fork. For food safety, check the center of a thick piece with a food thermometer: USDA FSIS gives fish a safe minimum internal temperature of 145°F (63°C). If it has not reached that temperature, cover and cook for another minute or two, then check again.
  7. Finish and serve. Turn off the heat. Gently stir in the lime juice, cilantro, and parsley if using, taking care not to break up the fish. Drizzle with dendê oil, if available, and add sliced chile to taste. Let the stew stand for 2 minutes so the flavors settle, then taste the broth once more and serve with lime wedges.

Tips

  • Choose fish that holds together. Cod, halibut, haddock, and sea bass are all suitable; use pieces of similar thickness for more even cooking. Very delicate fish can still work, but it may flake into the broth when stirred, so handle it gently and avoid turning the pieces over.
  • Know your dendê substitute. Dendê, also called red palm oil, gives many Bahia-style moquecas a distinctive earthy aroma, deep color, and rounded flavor. It is sold in some Brazilian or international groceries. If you cannot find it, omit it or finish with another teaspoon of neutral oil; the stew will still be flavorful, but it will lack that characteristic palm-oil note. Do not substitute coconut oil if you want to avoid adding another strong flavor.
  • Keep the simmer gentle. A rolling boil can make fish break apart and may cause the coconut sauce to look separated. Use medium-low heat after adding the coconut milk, and do not stir vigorously once the fish is in the pot. If your sauce seems thick, add a splash of water or stock; if it seems thin, simmer the tomato base a little longer before adding the fish.
  • Use fresh lime at the end. Lime juice brightens the rich sauce, but adding it at the finish makes its flavor easier to adjust and avoids changing the fish texture before cooking. Start with 2 tablespoons (30 ml), taste, and add a little more only if the stew needs extra sharpness.

Serving Suggestions

Serve moqueca hot in shallow bowls, making sure each portion gets fish, peppers, and plenty of coconut-tomato broth. Plain white rice is a classic partner because it absorbs the sauce without competing with it. Brazilian-style farofa, toasted cassava flour seasoned with a little butter or oil, adds a dry, crisp contrast; it is a useful specialty ingredient to seek out, but it is not required for a satisfying meal.

For a simple plate, add rice, a spoonful of farofa if available, and lime wedges. A lightly dressed green salad or sliced avocado can balance the stew’s richness. If serving bread instead of rice, choose a crusty loaf that can be dipped into the broth. Keep extra chile on the side so diners can choose their own heat level rather than making the whole pot too spicy.

Variations

Moqueca has regional and household variations rather than one single fixed formula. The version here is Bahia-inspired, using coconut milk and optional dendê. Moqueca capixaba, associated with Espírito Santo, is commonly prepared without coconut milk and often uses urucum (annatto) for color. For a lighter, brothier variation, omit the coconut milk and use an additional 1 cup (240 ml) of fish stock or water; the result will be less creamy and more tomato-forward. Annatto oil can lend color, though it will not taste exactly like dendê.

You can replace some of the fish with peeled raw shrimp, but add the shrimp only for the final few minutes so it does not become rubbery; check that it is opaque and cooked through. For a mixed seafood stew, add firm fish first and quick-cooking seafood later, allowing enough time to check each type for doneness. To make the stew vegetarian, use vegetable stock and replace the fish with 1 lb (450 g) of firm tofu or cooked chickpeas. Tofu will absorb the sauce but will not have the flaky texture of fish. A pinch of extra paprika or annatto can help build color in a version without dendê.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours in a shallow, covered container. Store for 3 to 4 days in the refrigerator; for best texture, the fish is usually nicest within 1 to 2 days. You may freeze the stew in a sealed freezer-safe container for up to 2 months for better quality, though the fish can become softer and the coconut sauce may separate slightly when thawed. Thaw it overnight in the refrigerator rather than on the counter.

Reheat only the portion you plan to eat, in a covered saucepan over low heat, stirring carefully around the fish. Add a splash of water or stock if the sauce has thickened. Reheat leftovers to 165°F (74°C), checked with a food thermometer, and avoid repeatedly warming and cooling the whole batch. A microwave also works: use a covered microwave-safe bowl, heat in short intervals, and check the temperature in more than one spot because the sauce can heat unevenly.

Frequently Asked Questions

What is the best white fish for moqueca?
Choose a firm or moderately firm fish that can be cut into substantial pieces, such as cod, halibut, haddock, or sea bass. Fresh or properly thawed frozen fillets both work. Avoid very thin pieces because they can overcook before the sauce has time to flavor them.

Can I make this stew without coconut milk?
Yes. Replace the coconut milk with about 1 cup (240 ml) of fish stock or water for a lighter, more broth-like stew. The flavor will be less rich and less creamy, and it will not resemble the coconut-based Bahia-style version as closely. Taste at the end and adjust salt and lime as needed.

Can I use frozen fish?
Yes. Thaw it in the refrigerator, then pat it thoroughly dry before seasoning. If the fish is still icy or releases a lot of water into the pot, the sauce may become diluted and the fish may cook unevenly. Do not thaw fish at room temperature.

Can I prepare moqueca ahead of time?
You can slice the vegetables and measure the spices a day ahead, keeping them covered in the refrigerator. For the best fish texture, cook the stew close to serving time. If you need to cook the full dish ahead, cool and refrigerate it promptly, then reheat gently to 165°F (74°C); expect the fish to be more delicate after reheating.

Why did my coconut sauce separate?
A high, rolling boil can cause the sauce to look oily or separated. It is usually still usable; lower the heat and stir gently to bring it together as much as possible. Next time, keep the sauce at a quiet simmer and add the fish only after the coconut milk has warmed through.

Is moqueca very spicy?
This recipe is mild unless you add the optional chile. The paprika and cumin add warmth and aroma, not necessarily chile heat. Serve sliced chile or hot sauce at the table so everyone can season their own bowl.

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).