Moqueca is a Brazilian fish stew, especially associated with Bahia, made with fish, tomatoes, peppers, coconut milk and bright lime. This version gently simmers firm white fish in a fragrant, colorful broth; regional and family recipes vary, and some Brazilian versions leave out coconut milk.
Ingredients
- 1 1/2 lb (680 g) firm white fish fillets, such as cod, haddock or snapper, skinless and boneless
- 1 tsp (6 g) fine salt, divided, plus up to 1/4 tsp (1.5 g) more to taste
- 1/2 tsp (1 g) freshly ground black pepper
- 2 tbsp (30 ml) fresh lime juice, plus 1 lime (about 70 g) cut into wedges for serving
- 1 tbsp (15 ml) neutral oil, such as avocado or canola oil
- 1 tbsp (15 ml) dendê oil, also called red palm oil; or use 1 tbsp (15 ml) olive oil with 1/4 tsp (1 g) ground annatto for a milder, less earthy substitute
- 1 large yellow onion (about 200 g), thinly sliced
- 1 medium red bell pepper (about 150 g), cored, seeded and thinly sliced
- 3 garlic cloves (about 9 g), finely chopped
- 2 medium ripe tomatoes (about 340 g), diced, or 1 can (14.5 oz/411 g) diced tomatoes, drained
- 1 can (13.5 oz/400 ml) full-fat coconut milk, well shaken
- 1/2 cup (120 ml) low-sodium fish stock or chicken stock
- 1/2 cup (15 g) loosely packed fresh cilantro leaves and tender stems, roughly chopped, plus a little extra for serving
- 1/4 tsp (0.5 g) red pepper flakes, optional
Instructions
- Pat the fish dry and cut it into large, even pieces, about 2 inches (5 cm) across. Put the pieces in a shallow bowl and season with 1/2 tsp (3 g) of the salt, the black pepper and lime juice. Turn gently to coat, then let stand for 10 minutes while you finish preparing the vegetables. Keep the fish refrigerated if your kitchen is warm; do not leave raw seafood out for an extended period.
- Set a wide, heavy pot or Dutch oven over medium heat. Add the neutral oil and dendê oil. When the oil is warm and shimmering, add the sliced onion and bell pepper. Cook for 5 minutes, stirring occasionally, until the vegetables begin to soften but still hold their shape. Adjust the heat if the onion starts browning; the goal is a tender, aromatic base, not deeply caramelized vegetables.
- Stir in the garlic and optional red pepper flakes and cook for about 30 seconds, just until fragrant. Add the diced tomatoes and the remaining 1/2 tsp (3 g) salt. Cook for 4 to 5 minutes, stirring now and then, until the tomatoes soften and release some juice. If using canned tomatoes, include any juice clinging to them only if they are not drained; the small amount of extra liquid will not harm the stew.
- Pour in the coconut milk and stock, then stir gently to combine. Bring the mixture just to a simmer, which should take about 3 minutes. Avoid a hard boil: vigorous bubbling can make the coconut milk separate and can break up the vegetables. Taste the broth before adding the fish. It should be savory, mildly tangy and lightly sweet; add a pinch of salt only if it needs it.
- Arrange the fish pieces in a single layer in the simmering broth, spooning a little broth over the tops. Cover the pot and cook gently for 6 to 10 minutes, depending on the thickness of the pieces. Check a thick piece with a food thermometer: fish should reach the USDA FSIS safe minimum internal temperature of 145°F (63°C). It should look opaque and separate into flakes with gentle pressure. If it is not there yet, cook for another minute or two and check again; avoid repeated stirring.
- Turn off the heat and scatter the chopped cilantro over the stew. Let it sit uncovered for 2 minutes so the flavors settle, then taste the broth and adjust with the optional extra salt or a squeeze of lime. Ladle carefully so the fish stays in generous pieces, and serve with lime wedges and more cilantro.
Tips
- Choose fish that holds together. Cod, haddock, halibut, snapper and similar firm white fish work well. Very thin fillets can cook before the broth is ready, while delicate fish may break apart when ladled. If using frozen fish, thaw it safely in the refrigerator and pat it thoroughly dry before seasoning.
- Know what dendê contributes. Red palm oil gives many Bahia-style moquecas their characteristic color and a distinctive earthy, slightly nutty flavor. It can be hard to find outside Brazilian or specialty markets. The olive-oil-and-annatto substitute adds color and a gentle earthy note, but the stew will taste milder and less traditionally pungent.
- Keep the simmer gentle. A low simmer cooks the fish evenly and helps the coconut broth stay smooth. If the surface is bubbling vigorously, lower the heat. Nestle fish into the broth rather than stirring it around; this helps keep the portions intact.
- Use full-fat coconut milk for body. Light coconut milk makes a thinner, less creamy broth. If it is all you have, use it, but simmer the vegetables and liquid for a few extra minutes before adding fish so the broth has time to concentrate. Do not try to thicken the finished stew by boiling the fish hard.
Serving Suggestions
Serve moqueca hot in shallow bowls, with plenty of broth in each portion. Plain white rice is a classic accompaniment: its mild flavor catches the coconut-tomato sauce without competing with the fish. Brazilian-style farofa, toasted cassava flour seasoned with a little butter or oil, adds a dry, pleasantly crumbly contrast; it is sold in Brazilian and Latin American groceries. If farofa is unavailable, serve warm crusty bread to mop up the broth.
For a fuller meal, add a simple green salad dressed with lime, or offer sliced avocado and extra lime wedges at the table. Keep side dishes lightly seasoned, since the stew already has a rich, aromatic broth. If serving a group, bring the pot to the table and let diners take fish and vegetables carefully with a wide spoon, then ladle broth over each bowl.
Variations
Bahia-inspired, with more heat: Increase the red pepper flakes to 1/2 tsp (1 g), or add one finely chopped small fresh chile with the garlic. Start modestly; the heat can become more noticeable as the stew sits. Keep the coconut milk and dendê for the lush, vivid style often associated with Bahia, while recognizing that recipes differ from cook to cook.
Espírito Santo-inspired, without coconut: Moqueca capixaba is commonly made without coconut milk and often uses annatto for color. To adapt this recipe, omit the coconut milk and dendê, use 1 1/2 cups (360 ml) stock in total, and use 2 tbsp (30 ml) olive oil infused briefly with 1/2 tsp (2 g) annatto seeds, then strain the seeds out. The result will be lighter and more tomato-forward, not creamy; simmer the vegetables in the stock until tender before adding the fish.
Add shrimp: Replace 8 oz (225 g) of the fish with peeled, deveined shrimp and use 1 lb (455 g) fish. Add the fish first, then nestle in the shrimp for the final few minutes of cooking. Check the thickest fish piece and a large shrimp with a thermometer; seafood should reach 145°F (63°C). Shrimp should be opaque and firm, but take care not to leave them simmering longer than needed.
Make it less rich: Use light coconut milk or replace up to half the coconut milk with stock. The broth will be thinner and less creamy, but the tomato, lime and cilantro will still give it a lively flavor. Taste at the end and adjust the lime gradually, since too much acid can make the broth seem sharp.
Storage and Reheating
Refrigerate leftover moqueca within 2 hours of cooking, in a shallow, covered container. It keeps for 3 to 4 days in the refrigerator. For the best texture, store the fish submerged in the broth and reheat only the portion you plan to eat; repeated warming can make the fish dry and cause it to fall apart.
Reheat gently in a covered saucepan over low heat, stirring the broth carefully around the fish, until leftovers reach 165°F (74°C). Check the center with a food thermometer, and do not let the pot boil vigorously. A microwave also works: cover a portion, heat in short intervals, and check the temperature in more than one spot, since microwaves can heat unevenly. The coconut broth may look slightly separated after chilling; gentle stirring while reheating usually brings it back together.
You can freeze the stew in a freezer-safe container for up to 2 months for better quality. Thaw it overnight in the refrigerator and reheat to 165°F (74°C). The fish may be softer after freezing and thawing, and the coconut broth can separate, but careful reheating helps. Do not leave the stew at room temperature to cool for more than 2 hours.
Frequently Asked Questions
What kind of fish is best for moqueca?
Choose a firm, mild white fish that can be cut into thick portions, such as cod, haddock, snapper or halibut. Fresh fish is convenient, but properly thawed frozen fish works too. Avoid very thin fillets if possible, because they cook quickly and are more likely to break up in the pot.
Can I make moqueca without dendê oil?
Yes. Use olive oil with a little ground annatto, or simply use olive or another neutral oil. Dendê gives the stew a particular earthy flavor and orange-red color, so the substitution changes the character rather than reproducing it exactly. The stew will still be flavorful with the coconut milk, tomatoes, lime and cilantro.
Can I prepare the stew ahead of time?
You can slice the vegetables and measure the liquids a day ahead, keeping them covered in the refrigerator. For the freshest fish texture, cook the broth base ahead, chill it promptly, then bring it back to a gentle simmer and add the fish just before serving. If the entire stew is already cooked, refrigerate it promptly and reheat leftovers to 165°F (74°C).
Why did my coconut broth separate?
A vigorous boil, prolonged cooking or repeated reheating can cause coconut milk to separate into visible solids and liquid. It is generally still usable if it has been handled safely. Lower the heat and stir gently; next time, bring the broth only to a gentle simmer and add the fish once the vegetables are tender.
How can I tell when the fish is done?
Check the thickest portion with a food thermometer; the USDA FSIS safe minimum for fish is 145°F (63°C). Properly cooked fish is opaque and flakes easily, but appearance alone is less reliable than temperature, especially in a saucy stew. If the piece has not reached 145°F (63°C), return it to the pot for another minute and check again.
Related
- Cajun Ninja Potato Soup with Andouille, Corn, and Cream
- Cajun Ninja Shrimp Stew with Dark Roux
- Cajun Ninja Corn Soup Recipe for a Cozy Louisiana Supper
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).