Moqueca is a Brazilian fish stew made with coconut milk, tomatoes, peppers and dendê oil. It sounds like something that should take a lot of work, but it really doesn’t. Everything goes into one pot, gets layered up, covered and left to simmer until the fish is tender and the sauce is rich and creamy.
I made this one with my mother-in-law, and because we were feeding the whole family, we made a very big pot! You absolutely don’t need to make this much, though — the recipe is easy to scale down.
The combination of mild tilapia and shrimp works really well here. The fish cooks right in the coconut sauce along with the onions, peppers and tomatoes, so you end up with a really flavourful sauce to spoon over rice.
And if you’ve never bought dendê oil before, don’t worry — I’ll explain what it is, where to find it, and what to use if you don’t have it.
This is a proper Brazilian family meal: a big pot of seafood, lots of sauce and rice on the side. Let’s make it!
And if you love Brazilian food, you might also enjoy my Easy Pan-Fried Tilapia, Coconut-Crusted Tilapia, or my mother-in-law’s Brazilian Feijoada.

What is moqueca?
Moqueca is a Brazilian seafood stew traditionally made with fish, vegetables and a flavourful broth.
There are different versions of moqueca throughout Brazil, and recipes can vary quite a bit depending on the region and the family making it.
This is the version I make with my family, using tilapia, shrimp, coconut milk and dendê oil, along with plenty of onions, bell peppers, tomatoes, garlic and cilantro.
The fish and vegetables are layered into the pot rather than stirred together, then covered with the coconut-based sauce and gently cooked until the fish is tender and the shrimp are cooked through.
The result is a comforting, colourful stew with a creamy, savoury sauce that begs for a pile of rice alongside it.

Why you’ll love this Brazilian moqueca
It’s a one-pot meal. Everything cooks together, which means lots of flavour and very little cleanup.
It’s perfect for a crowd. This is a generous recipe, and that’s intentional. Brazilian family meals have a way of growing once everyone starts eating!
The sauce is incredible. Coconut milk, tomatoes and dendê oil come together with the seafood and vegetables to make a rich sauce you’ll want to spoon over your rice.
It’s easier than it looks. Once the vegetables are sliced and the ingredients are layered into the pot, you mostly let the stove do the work.
You can make it smaller. My mother-in-law and I made a huge pot for our family, but there’s no reason you can’t scale it down for your own table.

What you’ll need
Tilapia
Tilapia is mild, readily available and works especially well here because it lets the coconut, tomatoes, vegetables and dendê oil shine without overpowering them.
You can use another firm white fish if you prefer. The main thing is choosing a fish that can hold together reasonably well while it cooks.
Shrimp
The shrimp add another layer of seafood flavour and a different texture from the fish. I used peeled and deveined shrimp, and you can leave the tails on like I did if you prefer. Don’t like shrimp? Just leave them out. And if you’re a big shrimp fan, feel free to add more — no need to adjust the rest of the recipe.
Coconut milk
Coconut milk is a big part of what makes this version of moqueca so creamy and comforting.
Dendê oil
If you’ve never cooked Brazilian food before, you may be wondering about dendê oil.
Dendê oil is a bright orange-red palm oil traditionally used in Brazilian cooking. It has a distinctive earthy, slightly nutty flavour and gives moqueca its characteristic colour and flavour.
I buy my dendê oil from Brazilian grocery stores. Depending on where you live, you may also find it at international or specialty grocery stores. I like to buy from Brazilian Market because they deliver. Other places I have bought dende oil were Tavora , Nova Bakery and Nosso Talho.
I have always bought Brazilian dendê oil myself, so that’s what I use for this recipe.
Look for it labelled dendê oil or azeite de dendê.
Can I skip the dendê oil?
Absolutely!
If you don’t have dendê oil, you can still make this moqueca.
I recommend adding a little paprika instead. It isn’t exactly the same flavour — dendê oil has a very distinctive taste — but paprika will add some colour and a little warmth, and you’ll still have a really delicious seafood stew.
So don’t let not having dendê oil stop you from making moqueca.
The vegetables
You’ll need:
- onions
- bell peppers
- tomatoes
- garlic
- fresh cilantro
The first onion and the garlic are finely chopped because they’re sautéed at the beginning to build the flavour base.
The remaining vegetables are sliced so they can be layered throughout the moqueca.
I love this because you can actually see all those beautiful vegetables in the finished dish.

How to Make Brazilian Moqueca
1. Sauté
Sauté the chopped onion and garlic in a large pot until softened and fragrant.
2. Layer
Add the sliced onions, peppers, and tilapia in layers.
3. Simmer
Pour over the tomatoes, coconut milk, and dendê oil. Cover and gently simmer until the fish and shrimp are cooked through.
4. Finish
Add fresh cilantro and serve hot with plenty of rice.
What to serve with moqueca
For me, moqueca and rice belong together.
The coconut-tomato sauce is rich and flavourful, and rice is perfect for soaking it all up.
Serve the moqueca over or alongside plain white rice, then spoon plenty of that sauce over the top.
Can I make a smaller batch?
Yes!
This recipe makes a large family-sized pot because that’s what my mother-in-law and I were making when we filmed it.
We were cooking for the whole family, so we wanted plenty of food for everyone.
If you’re cooking for fewer people, simply reduce the ingredients proportionally.
You don’t need a giant pot to make a delicious moqueca.
But if you’re having people over, I highly recommend making the big batch. It’s the kind of meal that gets even better when everyone is gathered around the table.
Can I use a different fish?
Absolutely.
I use tilapia because it is mild, easy to find and works beautifully with the other ingredients.
A firm white fish can also work well.
Just keep in mind that some fish are much more delicate than others, so avoid stirring the pot once the fish is cooking.
Can I use frozen shrimp?
Yes.
If you’re using frozen shrimp, thaw them first and drain off any excess liquid before adding them to the moqueca.
Is Brazilian moqueca spicy?
Not this version.
This moqueca doesn’t rely on hot peppers for its flavour. Instead, you get the flavour from the seafood, coconut milk, tomatoes, peppers, onions, garlic and dendê oil.
That makes it a great family-style meal.
If you like spicy food, you can always add some hot pepper to your own serving.
What does moqueca taste like?
Moqueca is rich, creamy, savoury and slightly sweet from the coconut milk, with a lovely depth from the tomatoes, garlic, onions and dendê oil.
The seafood gives the sauce plenty of flavour while the peppers and cilantro add freshness.
Dendê oil is what gives this version its particularly Brazilian character.
And then there’s the rice, which soaks up all that sauce.
Honestly, that’s my favourite part.
A big pot for the family
I made this moqueca with my mother-in-law for a family meal, so we made a big pot! The recipe below makes a generous amount, but you can use the serving slider in the recipe card to scale it up or down depending on how many people you’re feeding.
Brazilian Moqueca with Tilapia and Shrimp
Ingredients
- 1 kg tilapia
- 400 g shrimp
- 3 onions
- 3 bell peppers
- 500 g tomatoes
- 1 head garlic
- 800 ml coconut milk
- 4 tablespoons dendê oil
- Fresh cilantro, to taste
- Salt, to taste
Instructions
- Finely chop one onion and the garlic. Slice the remaining onions, bell peppers and tomatoes.
- In a large pot, sauté the finely chopped onion and garlic until fragrant and softened.
- Add a layer of sliced onions and bell peppers.
- Add a layer of tilapia.
- Continue layering the remaining onions, bell peppers and fish.
- Combine the tomatoes, coconut milk and dendê oil, then pour over the fish and vegetables.
- Add the shrimp, cover the pot and gently cook until the fish and shrimp are cooked through.
- Avoid vigorous stirring so the fish doesn’t break apart.
- Finish with fresh cilantro to taste.
- Serve hot with white rice.
Recipe Notes
Making a smaller batch: This recipe makes a large family-sized pot. Reduce the ingredients proportionally if you’re cooking for fewer people.
Dendê oil: I buy Brazilian dendê oil at Brazilian grocery stores. You may also find it at international or specialty food stores.
No dendê oil? No problem! Add a little paprika instead. It won’t have exactly the same flavour, but you’ll still have a delicious moqueca.
Fish: Tilapia is my choice, but another firm white fish can be substituted.
Don’t over-stir: Tilapia is delicate. Once the fish is in the pot, let everything gently cook rather than stirring aggressively.
Cilantro: Add as much or as little as you like.
Serving: Moqueca is especially good served with white rice so you can spoon plenty of the coconut-tomato sauce over it.

Moqueca (Brazilian Fish Stew)
Ingredients
- 1 kg tilapia
- 400 g shrimp peeled and deveined
- 3 onions
- 3 bell peppers red, orange or yellow
- 500 g tomatoes
- 1 head garlic
- 800 ml coconut milk
- 4 tablespoons dendê oil
- fresh cilantro to taste
- salt to taste
Instructions
- Wash and dry the bell peppers, tomatoes, and cilantro. Cut the bell peppers in half, remove the seeds, then slice them thinly into rounds. Thinly slice 2 onions and finely chop 1 onion. Finely chop the garlic and cilantro. Slice the tomatoes, or cut them in half if using cherry tomatoes.
- In a large pot, heat the oil over medium heat. Add the finely chopped onion and garlic and sauté until fragrant and softened. Season with a pinch of salt.
- Turn off the heat. Add a layer of sliced onions, tomatoes and bell peppers. Season with a pinch of salt.
- Add a layer of tilapia. Season with a pinch of salt.
- Continue layering the remaining onions, bell peppers, tomatoes and fish. Season with a pinch of salt.
- Combine the coconut milk and dendê oil. Whisk well or blend with an immersion blender or regular blender until emulsified. This helps keep the oil from separating from the coconut milk as the moqueca cooks. Pour the mixture evenly over the fish and vegetables. Season with a pinch of salt.
- Turn the heat back to medium. If using thin fish fillets, such as thin tilapia fillets, add the fish and shrimp at the same time. Cover and gently simmer for about 5–7 minutes, or until the fish is cooked through and the shrimp are firm and opaque.If using thicker fish fillets or larger pieces of fish, add the fish first and cook for about 5–8 minutes, depending on thickness. Once the fish is nearly cooked through, add the shrimp, cover, and cook for another 3–5 minutes, just until the shrimp are cooked through. Avoid overcooking the shrimp, as they can become rubbery.
- Avoid vigorous stirring so the fish doesn't break apart.
- Taste and adjust the seasoning with additional salt, if needed. Finish with fresh cilantro to taste.
- Serve hot with white rice.





Leave a Reply