This Brazilian Fish Stew is filled with tender, flaky cod, colorful bell peppers and tomatoes gently simmered in a rich and silky coconut broth with garlic, fresh cilantro and a touch of heat. Every spoonful is warm, comforting and full of the bright, vibrant flavors I grew up with in Brazil.
Inspired by moqueca de peixe, this is my simplified version made with easy-to-find ingredients and ready in about 20 minutes. Serve it over warm white rice to soak up every bit of that flavorful coconut-tomato broth.


Author’s Note
As I celebrate 10 years of Garden in the Kitchen, I keep coming back to the recipes that shaped me and this Brazilian fish stew is one of them.
I grew up in Brazil, where dishes like moqueca are deeply rooted in our food culture. The combination of fresh seafood, peppers, tomatoes, coconut milk and cilantro immediately brings me back to the flavors I grew up with.
Over the years, I’ve learned how to bring those traditional flavors into a more approachable, weeknight-friendly version without losing their essence.
Over the years, I’ve adapted those traditional flavors to the way I cook in my kitchen today, simple, nourishing and approachable for busy families. This recipe is my easy, weeknight-friendly version of moqueca de peixe, made with accessible ingredients without losing the flavors that make the dish so special to me.
—Silvia
What is Brazilian Fish Stew?
Brazilian fish stew, or moqueca de peixe, is a traditional coastal dish made with fresh fish, peppers, tomatoes, onions and fresh herbs gently cooked together until flavorful and aromatic.
There are several regional styles of moqueca in Brazil, but the two best known are Moqueca Baiana, from my home state of Bahia, and Moqueca Capixaba, from Espírito Santo.
Moqueca Baiana typically includes coconut milk and azeite de dendê (red palm oil), which gives the dish its distinctive color and flavor. Moqueca Capixaba does not use coconut milk or dendê and has a lighter broth that allows the flavor of the seafood to take center stage.
My recipe is inspired by the Bahian style I grew up with, but simplified for everyday cooking. I use coconut milk for that rich, silky broth and olive oil in place of dendê, although you can certainly add dendê if you have it and enjoy its distinctive flavor.
Choosing the Best Fish for Fish Stew
I usually make this stew with cod, but you can use several types of fish. Look for a firm, mild white fish that will hold its shape as it gently simmers in the broth. Good options include:
- Cod
- Haddock
- Halibut
- Sea bass
- Tilapia
- Catfish
Cut the fish into fairly large, similar-size pieces so they cook evenly and are less likely to break apart in the stew.
And if you’d rather use a different type of seafood, try my Shrimp Stew (Moqueca de Camarão) or Salmon Stew for two more variations inspired by the seafood stews I grew up with.

Ingredient Notes and Substitutions
- Fish – Choose a mild, flaky fish like halibut, sea bass, cod, haddock or tilapia.
- Olive Oil – of choice.
- White Onion + Garlic – The aromatic base of the stew. Yellow onion or shallots works too.
- Bell Peppers (1 red, green & yellow, sliced) – use colorful bell peppers for a pop or color, sweetness and that classic moqueca look. Swap or add fresh vine tomatoes for a brighter finish.
- Canned Diced Tomatoes – adds body and balances the richness. Option: Use fire-roasted tomatoes for a deeper flavor.
- Tomato Paste – concentrates the flavor of the broth (don’t skip!).
- Coconut Milk – this is a key ingredient as it creates a creamy, silky broth.
- Sour Cream (optional) – adds a subtle tang and extra creaminess.
- Red Pepper Flakes – adds gentle heat. Adjust to taste or omit if needed.
- Fresh Cilantro – finishes the dish with a fresh, bright flavor. Substitute for parsley (but cilantro is more traditional)
- Sea Salt & Black Pepper – season to taste, especially at the end.
Silvia’S TIPS
➜ Don’t overcook the fish. Cod cooks quickly. Gently simmer it just until the flesh turns opaque and flakes easily with a fork. If the fish is still translucent in the center, give it another minute or two.
➜ Keep the pieces fairly large. Larger chunks of fish are less likely to fall apart while simmering and serving.
➜ Keep the simmer gentle. Once the fish goes into the broth, avoid a hard boil. Gentle heat helps keep the fish tender and intact.
➜ Use full-fat coconut milk. It gives the broth a richer, silkier consistency. Light coconut milk will work, but the finished stew will be thinner.
➜ For a more traditional Bahian flavor: Add a little azeite de dendê (red palm oil). It has a very distinctive flavor, so if you’ve never cooked with it before, start conservatively.
➜ Like some heat? Pimenta malagueta is traditionally used in Bahia, but you can use the hot pepper you enjoy or simply adjust the red pepper flakes to taste.

Make It a Brazilian Style Meal
This stew is deeply flavorful on its own, but in Brazil, it’s almost always part of a simple, well-balanced plate. Think: something to soak up the broth, something fresh, and a little texture on the side. Here are my favorite ways to serve it:
- Rice – For me, warm rice is a must with this fish stew. Spoon the moqueca right over the rice so it can soak up that rich coconut-tomato broth, then add a few simple Brazilian sides to turn it into a complete meal.
- Brazilian Black Beans – If you want to turn this into a full meal, add a side of black beans. It’s a staple combination in Brazilian cooking and incredibly satisfying.
👉 Perfect for leftovers the next day, too. - Farofa (toasted cassava flour) – this is a traditional Brazilian side that adds a slightly crunchy, toasty texture. Sprinkle a little on top or serve on the side, it soaks up the broth in the best way.
- Brazilian Vinaigrette (Salada Vinagrete) – a fresh tomato, onion, and herb salad with a light vinaigrette. It adds brightness and acidity that cuts through the richness of the stew.
👉 This combo is very traditional and one I grew up with. - Caipirinha (Brazil’s classic cocktail) – if you’re making this for a gathering or a relaxed weekend meal, a fresh caipirinha is the perfect pairing. Made with lime, sugar, and cachaça, it’s bright, refreshing, and balances the richness of the dish beautifully.
- 👉 Or swap with sparkling water + lime for a non-alcoholic option.

Looking for more comforting seafood recipes
- Oven Baked Fish and Chips if you love fish and chips but want to avoid fried foods, then this oven baked fish and chips recipe if for you.
- Mediterranean Salmon simple with mediterranean flavors and wholesome delicious.
- Baked Fish-in-Foil with Vegetables we love this innovative recipe, each person gets a fish packet with cod and veggies! It’s fun, easy and mess free!
- Sheet Pan Hawaiian Shrimp speaking of fun, this sheet pan shrimp with pineapple and peppers is a delight and must try on a summer night!
- Instant Pot New England Clam Chowder a classic, made it easy in the instant pot.

Brazilian Fish Stew Recipe (Moqueca de Peixe)
Ingredients
- 2 tbsp olive oil
- 1 small white onion
- 2 cloves garlic, minced
- 1 1/2 lb wild cod
- 15 oz can diced tomato
- 1/2 cup coconut milk
- 1/4 cup sour cream (optional)
- 2 tbsp tomato paste
- 1 whole red, green and yellow bell pepper, sliced in rounds
- 1 pinch sea salt and ground black pepper
- 1/2 tsp red pepper flakes
- 1 tbsp fresh cilantro
Instructions
- Heat oil in a large skillet or cast iron. Add onion and garlic, cook until fragrant (3 minutes). Add diced tomatoes, stir. Proceed to add in coconut milk, sour cream (if using) and tomato paste. Give sauce a stir and allow it to cook for about 3 minutes.
- Add sliced pepper and cod chunks. Season wtih salt, pepper and red pepper flakes. Cover and allow fish to simmer for 10-12 minutes. About 3/4 of the way carefully turn the cod, if the fish hasn't been fully immerse in the broth.
- When done, garnish with fresh cilantro and serve.
Notes
Silvia’s Tip
This stew is best enjoyed fresh, but the flavors deepen beautifully the next day, just reheat gently to keep the fish tender.Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.


















yum yum
sound so delicious and so easy
I tried it today at home, and it was delicious. Loved everyone, especially my team members. Thanks for sharing the amazing recipe.
I love your recipes .. Much Love and support from Pakistan <3
Thanks so much for the love! xo, Silvia
Wow. Used the stew ingredients with leftover mixed seafood I had from a prior dinner. Jus delicious1
That’s so awesome Natalie, happy to hear!!
Thanks so much for the recipe!
It was really tasty, and appreciated by the whole family.
I changed the peppers for green beans, and the pepper flakes with chili flakes, as that’s what I had. Omitted the sour cream, and used a whole tin of coconut milk. It goes really well too with polenta.
I am so very happy to hear Toni, and thank you for taking the time to share your feedback!
Hi Sylvia – I am eager to make this dish. I’m confused by a couple of things though. 1- How is just “a pinch” of salt enough for a pound and a half of fish?? 2- Do you not use any herbs or spices? Only salt, pepper, garlic, onion & cilantro?? I like to not over season things – but this sounds a tad under seasoned. My main concern is the salt. Hope to hear back from you soon! Have a lovely day!
Arturo
arturoviolino@aol.com
(914) 719-2037 cell phone
Hi Arturo, I am glad that you are interested in making my fish stew recipe. To answer your questions, I don’t usually suggest a specific amount of salt in my recipes because I feel that is personal choice. Some people may choose to use less sodium in their diet for health concerns, others prefer the taste of things on the salty side. Know that if you season the fish with salt and when it is done cooking you feel like the dish could use more salt, you can always add more. This said, start on the conservative side. Now as far as the spices and flavors, I would love for you to make the recipe as is and let me know in the end what you thing, because this recipe has awesome flavors dislike the “lack” of seasoning. The ingredients like coconut milk, tomatoes and fishing the dish with cilantro add so much flavor, it’s a unique combination hence the popularity of this dish. I hope this helps and please do let me know how you like it.
Hi! I made this tonight with a big spoon full of Greek yoghurt as well as the coconut milk. I also added a handful of king prawns and served it with mashed potatoes and roast asparagus. Yummy and thank you for the recipe.
You are very welcome Lynne, I am so happy that you enjoyed my fish stew!
Love this, eat it all the time!
So happy to hear, thanks Lisa!
Obrigado, Silvia!! Wife and I loved it…this will be on our regular list of favorites. We eat fish 3-4 times a week and this is a welcome change from zuppa di pesce and cioppino.
I made it almost 100% as directed, but added a pinch of sugar to balance the acid from the diced tomatoes and used a whole 15 ounce can of coconut milk, to taste. Next time I might cut back a little on the juice from the tomatoes, but it was excellent as-is. As one comment suggested, maybe throw in a few shrimp, too. I served with cilantro lime brown rice on the side, although some crusty bread would be great, too.
Hi Tom, that’s so nice to hear! Thanks for making my recipe and thanks for taking the time to share your feedback, means a lot to me!
Hope to see you back for more “peixe” Take Care! Silvia
Fabulous flavor, fresh ingredients and coconut milk. what could possibly go wrong. A hearty fish stew that will Delight young and old.
Awe, that’s so great to hear! Happy that you like dit! xoxo