Brazilian fish stew, often called moqueca, is a gently simmered dish of firm fish, tomatoes, bell pepper, coconut milk, lime, and fresh herbs. This version takes inspiration from the coconut-rich moquecas of Bahia, while allowing for regional and family variations; it is flavorful, straightforward to make, and best served hot with rice to catch the sauce.
Ingredients
- 1 1/2 lb (680 g) firm white fish fillets, such as cod, halibut, snapper, or haddock, cut into pieces about 1 1/2 inches (4 cm) wide
- 2 tbsp (30 ml) fresh lime juice, from about 1 large lime
- 1 tsp (6 g) fine salt, divided
- 1/2 tsp (1 g) freshly ground black pepper
- 2 tbsp (30 ml) dendê oil, also called red palm oil, or olive oil
- 1 medium yellow onion, about 7 oz (200 g), thinly sliced
- 1 medium red bell pepper, about 6 oz (180 g), thinly sliced
- 3 garlic cloves, about 9 g, finely chopped
- 2 medium ripe tomatoes, about 10 oz (300 g), chopped, or 1 1/2 cups (225 g) chopped canned tomatoes
- 1 can coconut milk, 13.5 oz (400 ml), well shaken
- 1/2 tsp (1 g) sweet paprika
- 1/4 tsp (0.5 g) ground cumin
- 1/4 tsp (0.5 g) red pepper flakes, optional
- 1/2 cup (15 g) loosely packed fresh cilantro leaves and tender stems, chopped, plus a little more to finish
- 2 tbsp (30 ml) water, as needed to loosen the sauce
- 1 lime, cut into wedges, for serving
Instructions
- Prepare the ingredients. Slice the onion and bell pepper, chop the garlic and tomatoes, and cut the fish into similarly sized pieces so they cook at about the same rate. Pat the fish dry with paper towels. Having the vegetables ready before you start cooking makes it easier to keep the fish from overcooking later.
- Season the fish. Put the fish in a shallow bowl and gently turn it with the lime juice, half of the salt, and the black pepper. Set it aside for 10 minutes while you finish arranging the other ingredients. This short rest seasons the fish; it is not meant to cook it, and the fish must still be fully cooked in the stew.
- Soften the vegetables. Warm the dendê oil in a wide, heavy pot or deep skillet over medium heat. Add the onion and bell pepper and cook for about 5 minutes, stirring now and then, until they begin to soften but still hold their shape. Stir in the garlic and cook for 30 seconds, just until fragrant. Lower the heat if the garlic starts to brown.
- Build the sauce. Add the chopped tomatoes, paprika, cumin, optional red pepper flakes, and remaining salt. Cook for 2 minutes, stirring gently. Pour in the coconut milk and bring the mixture to a gentle simmer. Let it simmer uncovered for about 5 minutes, stirring once or twice. The sauce should be hot and lightly thickened, not rapidly boiling; a hard boil can make the coconut milk look separated.
- Cook the fish gently. Nestle the fish pieces into the sauce in a single layer as much as possible. Spoon a little sauce over the tops, cover the pot, and simmer gently for 7 to 9 minutes, depending on the thickness of the pieces. Avoid stirring vigorously; gently nudge the pot or spoon sauce over the fish so the pieces remain intact. Cook until the thickest pieces reach 145°F (63°C) on 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.
- Finish and serve. Turn off the heat and fold in the chopped cilantro with a gentle motion. If the sauce is thicker than you like, stir in up to 2 tablespoons (30 ml) water. Taste the sauce and adjust the salt or lime at the table. Serve hot with lime wedges and your chosen sides.
Tips
- Choose fish that holds together. Cod, halibut, snapper, haddock, and grouper are good options. Avoid very thin fillets, which can break apart before the sauce is ready. If using frozen fish, thaw it in the refrigerator and pat it dry before seasoning.
- Look for dendê oil if you can. This traditional red palm oil gives Bahia-style moqueca its distinctive color and earthy, slightly fruity flavor. It may be sold in Brazilian or other international grocery stores. Olive oil is a practical substitute, but the stew will have a milder, less characteristic flavor; do not use unrefined palm oil as though it were the same product.
- Keep the simmer gentle. Once the coconut milk is in the pot, avoid a rolling boil. Add the fish only after the sauce is hot, and check the thickest piece with a thermometer rather than relying only on the color of the sauce.
- Use a broad pot and avoid overhandling. A wide pot gives the fish room to sit in the sauce without stacking. Turn pieces only if needed, and use a thin spatula or spoon to lift them carefully; firm fish can still flake when it is cooked.
Serving Suggestions
Steamed white rice is a classic partner for moqueca because it absorbs the coconut-tomato sauce without competing with the fish. Brazilian-style rice, simply cooked with a little onion and oil, works especially well, but plain long-grain rice is an easy choice. For a more substantial meal, add farofa, the toasted cassava-flour side often served with Brazilian dishes. Its dry, crumbly texture contrasts nicely with the stew; if you cannot find cassava flour, serve crusty bread instead, knowing that it is a different but useful way to scoop up the sauce.
Round out the meal with sliced avocado, a crisp green salad, or sautéed greens. Put lime wedges on the table so everyone can brighten their portion to taste. The stew is rich and saucy, so a simple side with fresh or lightly dressed vegetables is usually more balanced than another creamy dish. Serve the pot promptly after the fish reaches its safe temperature, and spoon the sauce over rice while it is still hot.
Variations
Brazilian moqueca is not one fixed recipe. The version here is inspired by Bahia, where coconut milk and dendê oil are common. In Espírito Santo, moqueca capixaba is often made without coconut milk and uses urucum, also known as annatto, for color. To take this recipe in that direction, replace the coconut milk with about 1 1/2 cups (360 ml) fish stock or water and use olive oil infused with a small amount of annatto, if available. The result will be lighter and less creamy, with a different regional character rather than the same sauce.
You can replace some of the fish with peeled raw shrimp, but add the shrimp near the end because they cook quickly; check that they are opaque and cooked through. For a mixed seafood stew, use a similar total weight of fish and shrimp, and keep the fish pieces large enough to hold their shape. If you do not eat fish, firm tofu can be simmered in the sauce as a plant-based alternative, though it changes the dish and will not have the same seafood flavor. Add tofu gently and heat it through rather than expecting it to flake like fish.
For a milder stew, leave out the red pepper flakes and use a sweet bell pepper. For more heat, serve sliced fresh chile separately so diners can adjust their bowls. A little extra cilantro or a squeeze of lime at the end is a simple finishing variation; add these after cooking to keep their fresh flavor clear.
Storage and Reheating
Refrigerate leftover stew within 2 hours of cooking, transferring it to a shallow, covered container so it cools promptly. Keep it refrigerated for 3 to 4 days. Fish is delicate, so the texture is best on the day it is cooked, but properly stored leftovers can be reheated safely. If the stew has been left at room temperature for more than 2 hours, discard it rather than saving it.
Reheat only the portion you plan to eat in a covered saucepan over low heat, stirring the sauce gently and turning the fish carefully. Add a splash of water if the coconut sauce has thickened. Heat leftovers to 165°F (74°C), checking with a food thermometer, and avoid repeated reheating because the fish will become dry and break apart. A microwave also works: cover the container, heat in short intervals, and check the temperature in more than one spot. For longer storage, freeze portions in airtight freezer-safe containers; thaw them in the refrigerator and reheat to 165°F (74°C). The sauce may separate slightly after freezing, but gentle stirring while reheating can bring it back together.
Frequently Asked Questions
What fish is best for Brazilian fish stew?
Choose a firm white fish that stays in pieces during gentle simmering. Cod, halibut, snapper, haddock, and grouper are all suitable. Thickness matters as much as the variety: cut the fish evenly and start checking the thickest piece at 7 minutes. Very delicate fish may still taste good, but it is more likely to break up in the pot.
Can I make moqueca without coconut milk?
Yes. Some regional versions, including many moquecas from Espírito Santo, are made without coconut milk. Replace it with fish stock or water for a thinner, less creamy stew, and consider using annatto for color if you have it. The result is a regional variation, not a direct match for the coconut-rich Bahia-inspired version in this recipe.
Can I use frozen fish?
Yes. Thaw it in the refrigerator, then pat it dry before adding the lime juice and salt. Fish that is still icy can release extra water into the sauce and may cook unevenly. Do not thaw fish on the counter; if you need a faster method, keep it in a leakproof bag and thaw it in cold water, then cook it promptly.
How can I tell when the fish is done?
Check the center of the thickest piece with a food thermometer; it should reach 145°F (63°C). The fish should look opaque and separate easily into flakes, but visual cues alone are less reliable than temperature. Start checking at the early end of the cooking range, since smaller pieces can finish quickly in hot sauce.
Can I prepare the stew ahead of time?
You can chop the vegetables and measure the spices a day ahead, keeping them covered in the refrigerator. For the best fish texture, cook the sauce first and add the fish shortly before serving. Fully cooked stew can also be refrigerated and reheated, but expect the fish to be softer; reheat gently and bring leftovers to 165°F (74°C).
What can I use instead of dendê oil?
Olive oil is the easiest substitute and works well for sautéing. It does not provide dendê oil’s distinctive red color or earthy flavor, so the stew will taste milder and look less vivid. If you can find dendê oil at a Brazilian or international market, use it for a closer Bahia-inspired flavor.
Related
- Orange Thai Rice Noodles with Basil, Lime, and Peanuts
- Oven Baked Spanish Rice for Easy, Fluffy Weeknight Meals
- Nigerian Sauces for White Rice: Tomato-Pepper Stew
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).