This Brazilian fish stew is a quick, weeknight-friendly version of moqueca de peixe, a dish I grew up with, known for its rich coconut broth, fresh herbs, and bright citrus notes.
My version keeps all the bold, comforting flavors but comes together in just 20 minutes using simple, accessible ingredients, perfect for busy nights when you still want something deeply nourishing and full of flavor.


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 easy Brazilian fish stew is one of them.
I grew up in Brazil, where dishes like moqueca were part of everyday life. Simple, fresh, and full of flavor. Over the years, I’ve learned how to bring those traditional flavors into a more approachable, weeknight-friendly version without losing their essence.
This recipe reflects exactly how I cook today: nourishing, uncomplicated, and deeply rooted in my background.
Thank you for being here and cooking alongside me.
—Silvia
What is Brazilian Fish Stew?
Brazilian fish stew, often known as moqueca de peixe, is a traditional coastal dish made with fresh fish gently simmered in a flavorful broth of aromatics. It’s known for its rich flavors, deeply comforting and vibrant.
There are two main regional styles of moqueca in Brazil:
- Moqueca Baiana (from Bahia):
This is the more widely known version, made with coconut milk, tomatoes, onions, garlic, cilantro, and often a touch of dendê oil (palm oil), which gives the stew its signature color and depth of flavor. - Moqueca Capixaba (from Espírito Santo):
A lighter, more brothy version made without coconut milk or palm oil, highlighting the natural flavor of the fish with tomatoes, herbs, and olive oil.
Traditionally, moqueca is cooked slowly in a clay pot, allowing the flavors to gently develop without overcooking the fish.
This recipe is inspired by Moqueca Baiana (which is where I am from), with its signature coconut broth and bright, fresh flavors, but simplified for everyday cooking. It uses accessible ingredients and comes together in about 20 minutes, making it a practical, weeknight-friendly version that still honors the essence of the dish.
I love making my moqueca with white fish, like cod, but halibut, haddock, catfish, or tilapia can also be used. I’ve even made a few versions with shrimp (moqueca de camarão) and salmon! If you’re looking to go all out, add scollops, fresh crab or even lobster into your stew.

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
➜ Optional (traditional): add a drizzle of dendê oil (palm oil) at the end for a more traditional Brazilian touch.
➜ Coconut milk: use full-fat for richer flavor. Light coconut milk = thinner broth
➜ Hot Pepper (optional) 🌶️ – traditionally, Brazilian fish stew is made with pimenta malagueta, a small chili that adds a clean, vibrant heat. But you can use any mild-to-medium hot pepper you enjoy

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 – this is a must. The fluffy rice soaks up that coconut broth beautifully and balances all the flavors.
- 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
Storage & Reheating
- Refrigerator:
Store leftovers in an airtight container for up to 2–3 days.
- Reheating:
Reheat gently on the stovetop over low heat until warmed through.
Tip: Avoid boiling, as it can overcook the fish and make it tough. Add a splash of water or broth if needed to loosen the sauce.
- Freezing (optional):
You can freeze it for up to 1 month, but keep in mind the texture of the fish may change slightly once thawed.
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.


















This is my go to reciepe for something quick and delicious. I have made it at least 4 times. I’m deciding to go pescatarian, so this will be a great staple meal for me.
That’s amazing Candace, good for you! My daughter who is 13 years old decided to be a pescatarian last year, it’s been about 8mo (I can’t believe how faithful she is to this diet!). I make this recipe often for her, for all of us really and it hits the spot every time. Thanks for trying it out, and also thanks for stopping by to share your feedback with me. Best luck if you decide to go pescatarian, and let me know how I can help you with that! hugs 🙂
Do you drain the tomatoes?
Hi Sue! No, I don’t drain my tomatoes because together with the coconut milk and sour cream, they make a wonderful sauce.
I made it tonight and it was a hit! Everyone, including my two kids absolutely loved it. I saw my 9 year old getting seconds (and maybe thirds?) later not the evening. It will definitely become a repeat. I also sautéed some mushrooms on the side and my husband and I ate it on a bed of spinach. The kids ate it with rice. Altogether, a great success. Thank you!
Wonderful, so happy to hear! Thanks for trying my recipe and sharing your feedback, means a lot to me!
I made this tonight using unsweetened vanilla almond milk instead of coconut milk (because that is what I had in the refrigerator) and it was delicious. This is the first time I have prepared/eaten fish stew and I loved it. Thanks for sharing.
Thank you so much for trying my recipe and string your feedback Crystal! Just so you know I recently published a similar recipe using salmon, so that might be something to try next 🙂
Has anyone tried freezing this? I typically batch cook to freeze in mason jars. I’m just not sure about the coconut milk when defrosted.
I have froze the sauce before but not the fish. There is never any left 🙂 but the sauce is delicious and I usually freeze it and it’s perfect!
Silvia , It is actually easy and very tasty, thank you!
Thanks so much Alyssa, I am so glad you enjoyed it 🙂
Silvia, it looks perfect and tasty! Can’t wait to have this anytime of the day, love it!
That’s great to hear, thanks so much Olga!!
I have whiting fish. Can I use that?
Yes, but cooking times may be different. Keep a close eye!
Does Whole Cream Mill work in this?
yes it will!
Can we use frozen cod? Or any frozen white fish cut in chunk and cooked for a little longerr? Its hard here to get good fresh fish 🙁
You can use frozen fish, that not a problem. However, it will take a little bit longer to cook but if you use thin cuts, it really doesn’t take much time.
Super good, super easy! Loved it.
So happy to hear that you loved it my fish stew recipe!
I just started eating fish not crazy about it so I have been looking for ways to cook it and live it. This recipe did that for me! I substituted sour cream with Greek yogurt and added a TBS of Thai curry paste for a kick. Also added a TBS of Sofrito. It turned out so good I couldn’t even taste the fish. Glad I found your recipe this is a make again for sure!
Hi jen! This is wonderful to hear and I love that you added your own touch too 🙂 Thanks for taking the time to share you feedback!
I swapped the cod with barramundi and was really happy with the result! It absorbed the flavor of the sauce a lot better and didn’t get mushy.
Awesome to hear, thanks Melissa!