A simple Brazilian Fish Stew called Moqueca made with your choice of firm white fish simmered in coconut milk with onion, tomatoes, chilies, and lime. Easy, fast, and full of flavor! Serve with rice. Video.

This simple Moqueca recipe (pronounced “mo-KEY-ca”) is easy to make, takes about 35 minutes, and is perfect for busy weeknights and elevated enough for entertaining.
I love making Moqueca when I have guests over because it’s one of those recipes that’s truly simple to make but feels very elevated. You can make part of it ahead of time and finish it up quickly right before serving.
This recipe is a family favorite it's so versatile. It appears at request, every year at our Christmas eve dinner party, as a base for mussels. We make it throughout the year, with cod, or salmon, or shrimp and sometimes a combination. It is well loved.
Why you’ll love this Moqueca recipe!
Quick and easy! What I love about this Brazilian Fish Stew is how fast it is to prepare, and it’s made with simple, familiar ingredients. Ready in 35 minutes, it’s quick enough for weeknights, yet special enough for Sunday supper.
Bold, Brazilian flavor. Made with your choice of white fish, aromatic veggies, jalapeño for heat, savory tomatoes, cooling coconut, and fresh lime, this stew is layered in satisfying flavors!
Makes delicious leftovers. The flavor of the stew gets even better the next day. Leftovers keep for a few days, or you can freeze it! If making this ahead, leave out the fish and nestle it in when reheating.
What is Moqueca?
Moqueca is a Brazilian fish stew with coconut milk, tomatoes, and peppers. The dish is traditionally served over rice with lime and cilantro.
This version hails from Salvador, a bustling city on the coast of Brazil, just north of Rio de Janeiro, that offers up delicious seafood prepared using African influences and techniques. This part of Brazil is known for pairing fish with spicy chilies, lime, and cooling coconut milk, a lovely combination.
Ingredients in Moqueca

- White fish: Use halibut, black cod, sea bass, cod, or escolar. Thicker cuts are best. Even shrimp or shellfish (clams or mussels) would work here.
- Lime: You’ll need both lime zest and lime juice to season the fish and the broth.
- Oil: My preference is Dende, a Brazilian red palm oil, for the best flavor. But coconut oil or olive oil works well too!
- Vegetables: Onion (red, white, or yellow), carrot, red bell pepper, garlic cloves, and jalapeño are sautéed for savory, aromatic flavor and subtle heat.
- Tomato paste and diced tomatoes: Freshly diced tomatoes are preferred for their juicy texture and fresh flavor.
- Spices: Paprika and ground cumin (or whole cumin seeds) add depth and warmth.
- Stock: Use fish or seafood stock, or chicken stock.
- Coconut milk: Use both the liquid and the solids.
- Fresh herbs: Finish with chopped cilantro, scallions, or Italian parsley.
The best fish for Moqueca
Use firm white fish that will hold their shape and not disintegrate in the liquid. Here are the best fish (and seafood) to use in this recipe and soups and stews in general!
- Halibut
- Pacitid Wild Cold or Haddock
- Sea Bass
- Black Cod
- Escolar
- Red snapper
- Scallops or Shrimp
Where to find the best fish
If you’re looking for a good source of wild-caught, sustainably-raised fish or seafood with no antibiotics, I highly recommend Seatopia!
How to make Moqueca
1. Season the fish. Rinse the fish and pat it dry thoroughly. Cut into 2-inch pieces and place in a bowl. Add salt, zest from half a lime, and 1 tablespoon lime juice. Massage the seasoning lightly into the fish to evenly coat all pieces.


2. Sauté vegetables. In a large sauté pan, clay pot, Dutch oven, or other large pot, heat the olive oil over medium-high heat. Add onion and salt, and sauté 2-3 minutes. Turn the heat down to medium, add carrot, bell pepper, garlic, and jalapeño, and cook 4-5 more minutes.


3. Simmer. Add tomato paste, spices, and stock, and mix. Bring to a simmer, then add tomatoes. Cover and simmer on medium-low for 5 minutes, or until carrots are tender. Add coconut milk, taste, and add more salt if needed.


4. Add fish. Nestle the fish in the flavorful coconut stew, pouring the remaining marinade over the fish and into the stew, and either continue cooking on the stovetop, spooning the flavorful liquid over the fish for about 4-6 minutes (or until desired doneness), or for thicker cuts, place in a 350F oven for 8-10 minutes.

Once done, the Moqueca will have thickened beautifully.
5. Season and serve. Taste and adjust, adding salt and lime as needed. Serve over rice, sprinkle with fresh cilantro, scallions, or Italian parsley, and garnish with a wedge of lime.

Chef’s Tips
- Use firm, thick-cut fish. Choose sturdy fillets, like halibut, cod, or sea bass, and cut them into large chunks so they hold their shape and stay tender.
- Pat the fish very dry. Removing excess moisture helps the seasoning adhere better and prevents watering down the broth.
- Use full-fat coconut milk. For the best texture and flavor, don’t substitute light coconut milk. It won’t give the same silky, luxurious broth.
- Don’t overcook the fish. Gently nestle it into the simmering stew and cook just until opaque and flaky. Overcooking will make it tough and dry.
- Spoon the flavorful broth over the fish as it cooks. This keeps the fish moist and infuses it with all the flavors of the stew.
- Use dendê oil if you can find it. It adds authentic color and a distinctive depth that really defines traditional Moqueca.
Serving Suggestions
Serve Moqueca over cilantro lime rice, basmati rice, black rice, or everyday quinoa. We enjoyed this with a simple green salad, dressed with lemon, olive oil, and salt.
Crusty bread makes a nice vehicle for leftover pan juices. Trust me, you won’t want to waste this! So much flavor!
Storage
Leftovers will keep in an airtight container in the refrigerator for up to 3 days. You can also freeze the stew for up to 3 months. If planning to make ahead, prepare the stew without the fish. When reheating, nestle the fish in to cook just before serving.

Please let me know what you think of this Moqueca Recipe in the comments below!
More Seafood Recipes You Might Like
- Tuna Tostadas
- Simple Authentic Cioppino Recipe
- Broiled Miso Salmon
- Mediterranean Baked Cod
- Peruvian Minestrone Soup
- Jambalaya
- 100+ Low-Carb Recipes
- 100+ Cozy Soup Recipes
Happy week, friends! xoxo Sylvia
Watch How to make Moqueca
⭐️ After you try this Moqueca recipe, let us know how it turns out in the comments below. Your review will help other readers, too! Sign up here to join our community and receive our latest recipes and weekly newsletter! xoxo Sylvia
Moqueca Recipe (Brazilian Fish Stew)
- Prep Time: 15
- Cook Time: 20
- Total Time: 35 minutes
- Yield: 4 1x
- Category: 30 minute Dinner, easy dinner, entertaining, fish, healthy dinner, Main
- Method: stovetop
- Cuisine: American, South American
- Diet: Gluten-Free, Keto, Low-Carb
Description
Brazilian Fish Stew (Moqueca) with coconut milk, lime and jalapeño – a flavorful seafood stew that the whole family will love.
Ingredients
- 1 – 1 1/2 pounds firm white fish- Halibut, Black Cod, Sea Bass ( thicker cuts are best)
- 1/2 teaspoon salt
- one lime- zest and juice
- 2–3 tablespoons coconut or olive oil (or use Dende – Brazillian Red Palm oil for the best flavor!)
- 1 onion- finely diced ( red, white or yellow)
- 1/2 teaspoon salt
- 1 cup carrot, diced
- 1 red bell pepper, diced
- 4 garlic cloves- rough chopped
- 1/2 jalapeno, finely diced
- 1 tablespoon tomato paste
- 2 teaspoons paprika
- 1 teaspoon ground cumin (or whole seed)
- 1 cup fish or chicken stock
- 1 1/2 cups tomatoes, diced ( preferably fresh)
- 1 14 ounce can coconut milk ( liquid and solids)
- more salt to taste
- 1/2 cup chopped cilantro, scallions or Italian parsley
- squeeze of lime
Instructions
- Prep the fish. Rinse and pat dry the fish and cut into 2 inch peices. Place in a bowl. Add salt, zest from half the lime and 1 tablespoon lime juice. Massage lightly to coat all pieces well. Set aside.
- Saute. In a large saute pan, heat the olive oil over medium high heat. Add onion and salt, and sauté 2-3 minutes. Turn heat down to medium, add carrot, bell pepper, garlic and jalapeno and cook 4-5 more minutes.
- Simmer. Add tomato paste, spices and stock. Mix and bring to a simmer and add tomatoes. Cover and simmer gently on medium low for 5 minutes or until carrots are tender. Add the coconut milk and taste and add more salt if necessary.
- Nestle. Nestle the fish in the stew and simmer gently until it’s cooked through, about 4-6 minutes. Spoon the flavorful coconut broth over the fish and cook until desired doneness or longer for thicker pieces. ( You can also finish this in a 350F oven).
- Season. Taste and adjust salt and squeeze with lime.
- Serve. Serve over rice, sprinkle with cilantro or scallions and a squeeze of lime. Drizzle with a little olive oil if you like.
Notes
Serve with rice or crusty bread to mop up all the juices.
If making this ahead, I recommend making the stew ahead (without fish), refrigerating it for up to 3 days, reheating it, and then nestling it in the fish to cook right before serving.
Leftovers will keep up to 3 days in an airtight container in the refrigerator or can be frozen for up to 3 months.
Nutrition
- Serving Size: 4 ounces fish plus ¼ of the stew
- Calories: 290
- Sugar: 4.2 g
- Sodium: 429.9 mg
- Fat: 17.4 g
- Saturated Fat: 9.3 g
- Carbohydrates: 11.4 g
- Fiber: 2.3 g
- Protein: 23.5 g
- Cholesterol: 50.1 mg














OMG, this is an AMAZING dish! I’ve made it twice this week- once with shrimp and cod loin and again with some frozen lobster meat. It’s way to stretch the leftover broth by adding another can of coconut milk and more stock with more seafood. I didn’t have fresh tomatoes either time but the first time I used canned diced tomatoes with chilis and the second time I just used 1/2 4.5oz can chopped green chilis. With the lime, a little salt, and rest of the seasoning, its perfection! Cilantro is also a must if you love the flavor because it goes so well with the lime. Bon appetito!
So happy you enjoyed this!
Just perfect!
This was a tremendously yummy recipe. We loved all the flavor combinations. We have lots of halibut from my husband’s Alaskan fishing trip and this is an excellent way to use this light flavorless fish.
Awesome Lora!
The entire family, two teens and two adults, absolutely loved this dish. Made it with chunks of Chilean sea bass. We took another commenters suggestion and used red Thai curry paste, great suggestion because it added some really nice flavor. We did not use cilantro. To cut down on fat we used 2% coconut milk. We used fish stock instead of chicken stock and we used canned tomatoes instead of fresh. We are excited to make this again.
Glad you enjoyed this David!
This recipe is great. Though I did change it and I’m glad I did. Most recipes I find me and my husband always end up having to triple the spices.
For this recipe I used a bunch of mild curry powder. I used my home grown jalapenos which had been dehydrated in and put in a spice jar.
I didn’t have fresh tomatoes on hand so I used one can of diced tomatoes. I added more chicken stock then it called for and more tomato paste.
I used 5 cloves instead of 4.
I did not at cilantro instead added the green onions I’ve been growing. We don’t like cilantro. We are those people who thinks it tastes like soap lol.
The house smells like my house growing up. My dad is from Jamaica our house always smelled so wonderful growing up.
Adding the curry powder really made this dish.
I’m glad I chose that.
I used cod and just broke it up in the sauce. Serving it over basami rice.
Sounds delicious!
This is so easy but still makes a beautiful presentation for guests. I’ve made it with salmon fillets and with sablefish. Both great. I find the visually prettiest version to be sablefish with red onion, yellow bell pepper, and cilantro sprinkled on top. With the tomatoes, you end up with a gorgeous mix of colors. Thanks for this recipe, now a staple in my rotation.
Thanks Jasmine- glad this worked well for you!
Had some friends over for dinner tonight and we made this. It was so delicious! Everyone loved it and there were no leftovers. Will definitely be making again.
Great to hear Lynne!
would this recipe allow for freezing of the stock and then thaw and add fish when ready ?
Yes, I think that would work great Amy!
I’ve cooked so many of your recipes, but this one is by far my favorite. The flavor is addictive, and I love it with some crusty bread!
Thanks Michelle!
Real easy and so tasty 😋 kudos for this 1 👍🇺🇲🇺🇲
thanks so much Craig!
Definitely a keeper! I skinned the tomatoes and served it with crusty white bread. Delicious! No complaints from anyone!
Sounds perfect Antje! Thanks.
This was my first time making this and my family rated 41/2 to five stars. I made it with cod fish. I didn’t have fresh tomatoes so I used two cans of rotel original diced tomatoes and green chilies. Goes good with rice. Thank you for the recipe. This one is a keeper.
Thanks so much!
Wow
I made this stew and took some over to my Moms house for her to eat later. She called that night and said it was magnificent!!
My hubby and I loved it too!!
Thank you for you terrific recipes!
thanks Donna! Glad your family liked it!
We love this dish. I blend all the ingredients before adding the coconut milk and fish. We have also made with a variety of seafood.
Perfect Venus- glad this works for you!
Amazing dish. Easy and fun to make with some music and a glass of wine and so flavourful. Changed 1/2 jalapeño to 1 ghost pepper and regular paprika to smoked paprika and it spiced it up perfectly.
Amazing dish. Easy and fun to make with some music and a glass of wine and so flavourful. Changed jalapeño to 1 ghost pepper and regular paprika to smoked paprika and it spiced it up perfectly.
Thanks Leo- sounds fun! 🥂
Made this evening. Lovely. Very easy. All the family asked for it to become a regular.
Followed the recipe to a T (only forgot to add the tomato paste accidentally) I added and added and added salt and was still a tad bit flavorless but good flavor profile. I used scallops and cod so I had to cook a little longer. I chopped up some cilantro to put on top when I served myself. The cilantro took away from the soup by a lot! I regret putting it on. The soup without it was better. I did accidentally forget the tomato paste so I guess the soup didn’t thicken the way it should. I think I will try this again with some modifications.
Interesting, Toni- what stock did you use? Also did you season marinate the fish ahead?
Awesome recipe. My family loved it. Did find it a little bland for our liking so I added 2 to 3 TBS of red Thai curry paste and it made it amazing. Sets off all the flavours and has a kick. Don’t skip on the fresh chopped cilantro, it makes the dish! Making it for a second time tonight. 🙂
Excellent
Love the flavors the paprika and cumin made the dish
Added 2 potatoes
I used halibut
Perfect- thanks so much!
Delicious and easy to put together! I used halibut and mahi mahi.
Thanks Alison!
I made this tonight and used catfish filets. I left them whole and cooked it in the oven once it was time to add the fish. We ate it with basmati rice. My men all loved it. Ages 54,18 and 16. We have recently become pescatarians so we are trying lots of new dishes. This was definitely a win!
Great to hear Wendy!
We loved this recipe! Easy to make, and so flavorful…served together with Brazilian rice, and green salad and croutons, with rice vinegar for the dressing!
AWESOME
Thanks so much Veleda!
This was really good and had everything but the coconut milk and cilantro- I used coconut oil because I already had it and I bet Brazilian palm Oil is a little hard to find- so I finished it off in the oven and it was delicious!!! I have a friend that married a beautiful Brazilian lady named Rosie and she was very familiar with the recipe and she is going to make some so that I can compare it to what I just made. It was really easy to make and the base tastes a lot like the tortilla soup you get at Panera … however the fish and cilantro take it to the next step!
Thanks and Glad you enjoyed this Tim!