Traditionally known as Moqueca de Peixe or Brazilian Fish Stew, you will love this vibrant fish stew. It’s bright, flavourful, and ready in less than 30 minutes. Made in one pot, this low-carb, Keto-friendly, paleo-friendly, and gluten-free stew makes for the perfect dinner that is great for both busy weeknights or for entertaining guests.
You don’t believe how simple it is to make this fish stew. This super easy but hearty dish and full of flavor. It is so fragrant and surprisingly only requires a few kitchen staples. I love making this stew as it’s super comforting despite coming together in next to no time. It’s a staple once the cooler weather comes around but trust me, you’ll want to make this flavourful fish stew year round!
Here are more fish recipes to try: Garlic Butter Baked Tilapia Recipe, Easy Broiled Salmon Recipe, Garlic Butter Halibut Fish Recipe and Garlic Butter Cod Fish Recipe.

I love cooking stew for dinner because it cooks up without a lot of hands-on cooking. Another stew for easy weeknights, I recommend is my Cabbage and Sausage Stew, Instant Pot Chicken Stew, Instant Pot Beef Stew Recipe, and my Healthier Slow Cooker Beef Stew Recipe.
What is moqueca?
Moqueca recipe is a Brazillian Fish stew that is made with white fish, coconut milk, tomatoes, and peppers. Lime and cilantro are usually added to brighten the stew. Traditionally, moquecas are cooked in clay pots, however, if you don’t have one, a Dutch oven is perfect for this stew as they heat evenly and maintain heat well.
There are two types of Moqueca in Brazil from two different states in Brazil. One is from Bahia (in the northeast of the country) called Moqueca Baiana.
The other one is from Espirito Santo (in southeastern Brazil) called Moqueca Capixaba. The difference between them is the Moqueca Baiana uses palm oil and coconut milk and Moqueca Capixaba uses olive oil and tomato broth.
For this seafood recipe I used coconut milk, but I replaced red palm oil for olive oil just because I couldn’t find palm oil easily where I live here in Canada.
How to make Brazilian fish stew (Moqueca de Peixe)
Ingredients
- Cod fish — or another firm white fish, like mahi mahi or sea bass. Make sure that the pin bones are removed as it’s a choking hazard. Thick cuts are ideal. Try to buy fillets that are similar in size so they cook evenly. If you have shrimp, you can also add it in the stew.
- Lime juice — fresh lime juice is best as bottled lime juice doesn’t taste as bright.
- Salt and freshly ground black pepper
- Olive oil — or neutral oil of your choice.
- Garlic cloves — finely minced the garlic cloves.
- Peppers — you’ll need hot pepper, green pepper bell pepper, red bell pepper, and yellow bell pepper. They add a beautiful pop of colour on top of flavour. Skip the hot pepper if you’d like this to be less spicy.
- Diced tomatoes — all you need is a can. It’s much more convenient than dicing your own. You’ll need to liquid in the can as well.
- Onion — you can use white or yellow onion for this Brazilian fish stew.
- Fresh herbs — I use cilantro and parsley. They add a fresh bright flavour to the stew.
- Coriander — this adds a strong fresh citrus taste. Optional: red pepper flakes.
- Coconut milk — you want the coconut milk that comes in a can, in full-fat, and not the milk in the refrigerated section.
- Tomato paste — this adds flavour and thickens the stew as well.

Instructions
Prepare the Fish
- Place fish in a large glass bowl and season with salt, pepper, and lime juice. Set aside in the fridge for about 15 minutes.
Add the Ingredients
- In a large Dutch oven pot (or clay pot), add 2 tablespoons of olive oil over medium heat. Add the garlic and hot pepper and cook for about 1 minute. Be careful not to burn the garlic.
- Then, add bell peppers and sliced onions.
- Add the fish fillets and cilantro, parsley, and coriander on top. Season with a pinch of salt and pepper again.
Simmer the Brazilian Fish Stew
- Pour the coconut milk into the Dutch oven and then add the tomato paste. Bring to a boil over medium-high heat.
- Then cover, lower the heat to a simmer and cook for 15 minutes, or until the onions are tender and the fish are fully cooked. Be careful not to overcook the fish.
- Taste and adjust seasonings if desired. Garnish with chopped fresh cilantro and parsley.

How long does this stew last?
This Brazilian fish stew stores really well. As long as you keep it in an airtight container, you can keep this refrigerated for 3 to 4 days.
Recipe tips
- Once you cover the Dutch oven and simmer the stew, avoid stirring the stew to prevent the fish from breaking apart.
- This stew has a short simmering time. If you overcook the stew, the fish will fall apart and taste tough.
- Feel free to use frozen fillets for this fish stew. Simply thaw them fully before adding them to the Dutch oven.

What does moqueca taste like?
Brazilian fish stew has a sweet flavour with hints of nuttiness from the oil and coconut.
It also tastes light and bright from the lime juice (or lemon juice), fresh cilantro, and parsley. The cod fish tastes mild so you don’t have to worry about the stew tasting fishy.
What can you serve with Brazilian fish stew?
You could serve this Brazilian fish stew dish with any side of white rice or salad. Here are some on Primavera Kitchen that I think you would love:
- Arugula Blackberry Salad: This arugula blackberry salad has everything you want in a light salad. With a refreshing vinaigrette, plump blackberries, and peppery arugula.
- Carrot Quinoa Salad: This quinoa salad is filled with shredded carrots, red onions, bell pepper, and olives. It is gluten-free, vegan, healthy, and very flavourful too.
- Parmesan Brussels Sprouts Salad: Simple and delicious, this Parmesan Brussels Sprouts Salad is the perfect crisp green salad to go with your next meal!
- Rice with Mushroom and Asparagus: It’s a quick and easy rice recipe that uses veggies, and fresh parsley, and feta for garnishing.
Watch the Web Story HERE.

Brazilian Fish Stew (Moqueca de Peixe)
Want to Save This Recipe?
Enter your email & I’ll send it to your inbox. Plus, get great new recipes from me every week!
By submitting this form, you consent to receive emails from Primavera Kitchen.
Video
Ingredients
- 1 lb cod fish (or other firm white fish, like mahi mahi or sea bass) , rinsed and pin bones removed.
- 2 tbsp lime juice
- Salt and freshly ground black pepper to taste
- 2 tbsp olive oil divided
- 3 garlic cloves minced
- 1 hot pepper finely chopped (optional)
- 1 cup diced tomatoes (from a can)
- 1 green bell pepper seeded and sliced
- 1 red bell pepper seeded and sliced
- 1 yellow bell pepper seeded and sliced
- 1 medium white/yellow onion sliced
- 1 small bunch of cilantro chopped
- 1 small bunch of parsley chopped
- 1 teaspoon coriander
- 14 ounce coconut milk can
- 1 ½ tbsp tomato paste
Instructions
- Place fish in a large glass bowl and season with salt, pepper and lime juice. Set aside in the fridge for about 15 minutes.
- In a large Dutch oven pot (or clay pot), add 2 tablespoon of olive oil over medium heat. Add the garlic and hot pepper and cook for about 1 minute.
- Spread diced tomatoes on the bottom of the pot.
- Then, add bell peppers and sliced onions.
- Add the fish fillets and cilantro, parsley and coriander on top. Season with a pinch of salt and pepper again.
- Pour the coconut milk and add tomato paste. Bring to a boil over medium-high heat. Then cover, lower the heat to a simmer and cook for 15 minutes, or until the onions are tender and the fish are fully cooked.
- Taste and adjust seasonings if desired. Garnish with chopped fresh cilantro and parsley. Serve with rice and salad.
Tips
- Avoid stirring the soup too frequently as you don’t want the fish to break up.
- Careful not to over simmer the stew as the fish will come out tough.
- If you are using frozen fish to make the stew, thaw beforehand.
- To store: Keep the fish stew in the fridge for up to 4 days in an airtight container.
- To reheat: Gently reheat the stew on the stovetop when ready to enjoy.
- To freeze: Always allow the stew to cool to room temperature before freezing. Freeze the soup in an airtight freezer-safe container for up to 3 months. Thaw in the fridge overnight before reheating.
Nutrition Information
Nutrition information is calculated using an ingredient database and should be considered an estimate.

Rich says
Really easy and delicious recipe. My wife and I loved it, and I will definitely make it again.
The only thing I changed was that I whisked the tomato paste into the coconut milk before adding it to the pot so I wouldn’t have to over-stir the stew to incorporate the paste.
Olivia Ribas says
Happy to hear that you both enjoyed this recipe!
Ángel says
Tudo bem! This was made for my dear grandparents, to warm up on such a freezing snowy day. We added three medium size potatoes and a small sweet potato. Very delicious, Tudo bem
Olivia Ribas says
Awesome! Happy you liked it!
Florence Aziz says
Tried this recipe today and it was so tasty. I used fish with bones. I followed the suggestion in one of the comments. I mixed the tomato paste with the coconut milk before pouring to the pan. I’ll be making this again.
Olivia Ribas says
Happy you liked it!
Susan says
Utterly delicious! So simple, so fresh and light, and beautiful as well. Great with brown rice. It’s a great way to use cod. Thank you for this wonderful recipe.
Olivia Ribas says
Happy you liked it!
Christina Gray says
My husband LOVES this and so do I.
The spice and flavor make your mouth go ‘Mmmmmm’.
Olivia Ribas says
Aww I’m so happy to hear that!
Lucia says
The recipe doesn’t say when to incorporate the 2 spoons of lime😜. I did it before covering the put. It’s very tasty. Delicious!
Olivia Ribas says
It does! It is on the instruction number 1 of the recipe.
Lyn says
A wonderful recipe, delicious with such delicate flavours. I used sea bass loins, had to add some lime juice as I only had half a lime, and used ketchup as I had no tomato paste (awful, I know) but it worked. I only used some of the tomato juice from the can as the recipe did not indicate how much. Will definitely make this again.
Olivia Ribas says
Thank you for your feedback! I’m so glad it turned out delicious despite the substitutions. The lime juice and ketchup were creative adjustments, and I’m happy to hear it worked. Looking forward to you making it again! 😊
John Ninan says
I have made Moqueca de Peixe several times. Since I did not have cod, I made it with frozen flounder today. Came out very well. I eat the stew on a bed of cooked rice.
Thank you for sharing the delicious recipe.
Olivia Ribas says
You’re very welcome. Happy you liked it 😉
Annie says
Thank you, we liked this! Next time, I’ll try it with salmon. I agree that the recipe should be modified so that the tomato paste and coconut milk should be stirred in before adding the fish – then it would be a 5. Will make it again!
Olivia Ribas says
Thank you for the feedback! Trying it with salmon sounds delicious. So glad you’ll make it again!😊