With a simple combination of ingredients, this rich and creamy Brazilian Fish Stew (Moqueca) comes together in about 30 minutes. The deeply satisfying broth is punctuated with tomatoes, coconut milk and bell peppers and squirts of lime juice add brightness. Serve with white rice and cilantro for the perfect weeknight dinner or special occasion meal.
If you have always felt you need to have great skills to cook fish, this no-fail recipe for Brazilian fish stew known as Moqueca (pronounced mo-keh-ka) in Brazil, is for you. Here, the fish poaches gently in a coconut, limey, tomatoey broth just until it is opaque and flakes easily. No scary searing, grilling or sticking and tearing involved.
Moqueca is also great recipe for people who claim not to be into fish. Once the fish soaks up all the lovely, complex flavours in the stew, there is barely a detectable fishy taste.
This version comes from the northeast part of Brazil where it is called Moqueca Baiana or Moqueca de Peixe. It is ridiculously easy and quick to make so it’s perfect for a weeknight but special enough to serve to guests.
Even if you don’t like fish, I guarantee you will soon be as addicted to this exquisite moqueca as I am.
What Is Moqueca?
Moqueca is a Brazilian seafood stew that has strong African influences. In Salvador, the capital of the state of Bahia, the moqueca de peixe is typically made with a firm white fish.
The dish begins by marinating the fish with a simple mixture of lime juice, salt and garlic. Sautéed onions, tomatoes, bell peppers and garlic from the base of the stew with coconut milk stirred in for richness and creaminess. A halved red chili is optional but adds subtle heat that enlivens the creamy broth.
Influenced by African cuisine, authentic Bahian moqueca includes a few spoonfuls of red palm oil (known as dendê in Brazil). This will give it a vibrant orange colour and the unique flavour that distinguishes Bahian moqueca from all other fish stews.
Brazilian moqueca is traditionally served with white rice or with pirão — a porridge-like dish made by mixing some of the fish broth with cassava flour. This traditional Brazilian fish stew is also often served with farofa, a mixture made from toasted cassava root.
What Is Dendê Oil?
Dendê oil is derived from the red pulp surrounding the fruit of palms. In Brazil, dendê oil is prized for its distinctive, almost smoky, flavour and for the beautiful reddish colour it imparts to a dish. It is considered essential for many African-influenced dishes, particularly those from the northeast part of the country.
Note that red palm oil is not the same thing as palm oil. Palm oil, or palm kernel, is derived from the seeds of the fruit as opposed to the fruit. Dendê oil is a lot healthier than palm oil with less saturated fats and high in alpha-carotene, beta-carotene and lycopene, as well as vitamin E.
You likely won’t find it easily at grocery stores but you can order it online. Despite all my research, it is still unclear to me if sustainably sourced red palm oil, which is sold at most health food stores and is what I used here, is the same thing as dendê oil. I suspect there are some differences but at least it provides beautiful colour and silkiness to the broth.
If you prefer not to purchase dendê, or red palm oil, you can use a bit of coconut oil and paprika to give the stew some silkiness and colour.
Ingredients And Notes
The ingredient list to make this hearty dish may seem long at first glance. But keep in mind the bulk of the ingredients are pantry staples or easy to find.
- White fish – The best fish to use for a Brazilian moqueca is a firm fish. I used cod here but any firm white fish such as mahi mahi, tilapia, halibut, black cod, sea bass, etc will work. Try and buy the thickest cut available — thin pieces will fall apart too quickly.
- Red palm oil (Dendê) – You only need a few tablespoons of red palm oil (dende oil) but it really makes a difference in this stew. As mentioned above, if you omit it, stir in some coconut oil, or a little more olive oil, with paprika instead.
- Onion and garlic – Along with the peppers and tomatoes, onion and lots of garlic form the base of this Brazilian fish stew. Garlic is also used for marinating the fish.
- Bell peppers – Green peppers are very common in Latin American cuisine. In this dish they add a lot of flavour and savouriness that I find essential. I use a mix of green and red but if you absolutely dislike green peppers you can use all red, or a mix of red and yellow or orange.
- Tomatoes – Fresh tomatoes are not only traditional in moqueca, they also won’t overwhelm the sauce. Even winter tomatoes are preferable to canned. That said, if all you have is canned, go ahead and use 2 cups of canned crushed tomatoes.
- Red chili pepper – I used a chili that wasn’t very spicy but if yours has a lot of heat, add it whole or halved so the stew isn’t overly spicy. The spice level in Moqueca should be subtle. Alternatively you can use a few pinches of crushed red pepper.
- Tomato paste – Adds more body and depth of flavour to the stew.
- Spices – I used paprika and a bit of cumin and coriander but use only cumin if you prefer.
- Chicken stock – I like a brothy moqueca so I add some chicken stock which also helps deglaze the pan. Omit it if you don’t have any on hand but don’t use water which could make the stew taste bland.
- Coconut milk – To make the lovely coconut broth, you will need full-fat canned coconut milk. I panic a little when I’m running low on coconut milk so I always stock up on this brand which you can find at Costco for a lot less than at grocery stores.
- Lime juice – Please use freshly squeezed lime juice here. Aside from making the fish much more flavourful, it adds a bright freshness to the stew.
- Cilantro – Fresh chopped cilantro adds a lot of flavour to this fish stew. If you can’t eat cilantro, chop 2-3 green onions and stir those in at the end instead.
How To Make Brazilian Fish Stew (Moqueca)
This moqueca recipe is perfect to make on busy weeknights. It’s so refreshing for hot summer days, yet comforting for chilly nights, too.
- Prepare the fish: Pat fish fillets dry and cut it into large chunks. Place in a bowl and marinate with lime juice, salt and minced garlic. Set aside while you make the sauce.
- Sauté the vegetables: Heat the olive oil in a large skillet or Dutch oven over medium heat. Add the onion and season with salt. Sauté until translucent, about 3 minutes. Add the green pepper, red pepper, chili, and garlic and cook, stirring occasionally, about 2-3 minutes more. Stir in the tomatoes and 1 tablespoon dendê oil, if using. Cook until tomatoes have started to break down, about 2 to 3 minutes.
- Make the sauce: Deglaze the pan with chicken broth then pour in the coconut milk. Simmer over low heat, stirring occasionally, until sauce thickens, about 3-4 minutes. Stir in the remaining tablespoon of dendê oil, if using.
- Cook the fish: Nestle in the fish pieces and pour in any juices from the marinade. Cook, occasionally spooning sauce over fish, for 3-4 minutes or until fish is just cooked through. Taste for seasoning and garnish with chopped cilantro.
- To serve: Carefully ladle fish and broth into a bowl, top with white rice and a squeeze of lime.
*Find the exact measurements and instruction in the recipe card below.
- Don’t overmarinate the fish. Lime juice will degrade the texture of the fish so don’t marinate for more than twenty minutes or so.
- Buy thicker cuts of fish. Particularly if buying cod, make sure you get the thickest cut possible. Otherwise the fish will fall apart in the stew.
- Be careful not to overcook the fish. Fish can get a rubbery texture if overcooked. Make sure you cook it only until it flakes easily.
- Don’t stir the stew once you add the fish. Stirring the stew will cause the fish to fall apart. Instead, spoon sauce over the fish to make sure it is soaking it up.
- Thoroughly thaw frozen fish. Frozen fish will work but make sure it is completely thawed before adding it to the stew.
Best Pan For Cooking Moqueca
Moquecas are traditionally cooked in earthenware pots that are shallow and wide so the fish has room to cook evenly and quickly. These wide, shallow pots also allow the liquid to reduce into a thicker, creamier sauce. In Brazil, moquecas are brought to the table still bubbling in the earthenware pot — a beautiful sight to behold.
In the absence of an earthenware pot, the next best thing is a heavy-bottomed 12-inch skillet. Cast iron, ceramic, or stainless steel will all work. If all you have is a deep pot, this too will work. Just make sure to give the sauce more time to reduce before adding the fish.
Moqueca is perfect for pairing with a simple side of fluffy white rice and perhaps some crusty bread on the side to dip into the flavourful sauce.
Moqueca leftovers are delicious the next day. If possible, store fish and sauce separately in an airtight container and refrigerate for up to 2 days.
To reheat: Heat sauce in a skillet over medium heat. Once gently bubbling, add the fish and cook for 1 minute. Remove from heat and serve immediately.
Other Stew Recipes You Might Like
For the fish
- 2 pounds firm white fish such as cod, halibut, black cod, sea bass, tilapia
- juice from 1 lime
- 2 garlic cloves grated or very finely chopped
- 1/2 teaspoon Kosher salt
For the sauce
- 2 tablespoons olive oil
- 1 medium yellow or red onion cut into thin slices
- Kosher salt and freshly ground pepper
- 1 green bell pepper diced or cut into thin slices
- 1 red bell pepper diced or cut into thin slices
- 1 red chili chopped in half or diced if you like heat (or a pinch of crushed pepper flakes)
- 4 garlic cloves minced
- 2 tablespoons tomato paste
- 2 tablespoons dendê oil, divided (*see notes)
- 3 small/medium-sized tomatoes (about 1 pound) chopped or 2 cups canned crushed tomatoes
- 2 teaspoons paprika
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander, optional
- 1/2 cup fish or chicken stock (I always use chicken – **see notes)
- 1 14-oz can full-fat coconut milk (stirred)
- ½ cup chopped fresh cilantro or use green onions or parsley
- lime wedges for serving
- Pat the fish dry and cut it into large chunks. Place in a bowl and marinate with lime juice, garlic and salt. Set aside to marinate while you make the sauce. Do not marinate for longer than 30 minutes.
- Heat the olive oil in a large 12-inch skillet over medium heat. Add the onion and season with a pinch of salt. Sauté until translucent, about 3 minutes. Add the green pepper, red pepper, chili, and garlic and cook, stirring occasionally, about 3 minutes more. Stir in the tomato paste and 1 tablespoon dendê oil, if using. Add the tomatoes, 1/2 teaspoon salt, a few grinds of black pepper, paprika, cumin and coriander (if using). Cook until tomatoes have started to break down, about 2 to 3 minutes.
- Deglaze the pan with chicken broth then pour in the coconut milk. Simmer over low heat, stirring occasionally, until sauce thickens, about 3-4 minutes. Stir in the remaining tablespoon of dendê oil, if using.
- Nestle in the fish pieces and cook, occasionally spooning sauce over fish, for 3-4 minutes or until fish is just cooked through. Taste for seasoning adding a pinch more salt if needed. Stir in chopped cilantro.
- Carefully ladle fish and broth into a bowl, top with white rice and a few squeezes of lime.