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.

fish stew or stewed fish in a skillet
Picture of Silvia

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.

fish stew recipe ingredients; two large wild cod filets, green, orange and red bell peppers, grape tomatoes, fresh cilantro and olive oil, on a wood board

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.

cooking fish stew. Cod being added to the tomato sauce. Fresh ingredients around the cast iron. Wooden spatula

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.
fish stew (moqueca) with cod in a broth of tomato sauce, garnished with fresh cilantro, served in a cast iron skillet

Looking for more comforting seafood recipes

Want to save this recipe?
Just enter your email and get it sent to your inbox! Plus you’ll get great new recipes from us every week!
fish stew or stewed fish in a skillet
4.93 from 38 votes

Brazilian Fish Stew Recipe (Moqueca de Peixe)

by Silvia Dunnirvine
This easy Brazilian Fish Stew features tender cod, colorful bell peppers and tomatoes gently simmered in a rich, silky coconut broth with garlic and fresh cilantro. Inspired by moqueca de peixe and ready in about 20 minutes, it's a comforting, flavorful seafood dinner that's perfect served over warm white rice.
Prep: 5 minutes
Cook: 18 minutes
Total: 23 minutes
Servings: 4 servings

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

To store: Let the stew cool, then transfer leftovers to an airtight container and refrigerate for up to 2–3 days.
To reheat: Warm gently in a saucepan over low heat just until heated through. Avoid boiling the stew when reheating, as the fish can become tough and begin to fall apart.
If the broth thickens in the refrigerator, add a small splash of water, broth or coconut milk while reheating.
To freeze: You can freeze the stew for up to 1 month, although the texture of the fish may be slightly softer after thawing. For the best texture, I prefer this stew fresh or refrigerated.

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

Calories: 320kcal | Carbohydrates: 10g | Protein: 33g | Fat: 17g | Saturated Fat: 8g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 6g | Cholesterol: 82mg | Sodium: 330mg | Potassium: 1101mg | Fiber: 2g | Sugar: 5g | Vitamin A: 493IU | Vitamin C: 16mg | Calcium: 90mg | Iron: 3mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Keyword: Brazilian Fish Stew Moqueca, Cod Fish, Cod stew, Fish Stew, Moqueca de Peixe
Course: Dinner
Cuisine: Brazilian
Like this? Leave a comment below!
Brazilian fish stew

Hi! I’m Silvia.

My goal is to make cooking simple and enjoyable.

Garden in the Kitchen is full of easy and balanced recipes for busy families. Classics get a healthier twist with additions of veggies or alternative ingredients.

I hope my recipes will inspire you to cook more home meals and above all have fun in the kitchen!

You May Also Like

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating




115 Comments

  1. 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.

    1. 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 🙂

      1. Hi Sue! No, I don’t drain my tomatoes because together with the coconut milk and sour cream, they make a wonderful sauce.

      2. 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!

      3. Wonderful, so happy to hear! Thanks for trying my recipe and sharing your feedback, means a lot to me!

  2. 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.

    1. 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 🙂

  3. 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.

    1. 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!

  4. 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 🙁

    1. 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.

      1. 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!

      2. 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!

  5. 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.