At the Immigrant's Table

  • Home
  • About me
    • Contact
    • Privacy Policy
  • Shop
  • Travel
  • Jewish Recipes
  • Russian and Ukrainian Recipes
  • Main Course Recipes
  • Healthy Side Dishes
  • Dessert Recipes
  • Travel
  • Gluten-free Recipes
  • Paleo recipes
  • Vegan recipes
menu icon
go to homepage
  • About Me
  • Recipes
  • Cookbook
  • Membership
  • Shop At The Immigrant's Table
  • Collaborate
subscribe
search icon
Homepage link
  • About Me
  • Recipes
  • Cookbook
  • Membership
  • Shop At The Immigrant's Table
  • Collaborate
×
Home » Recipes » Recipes

Moqueca recipe (Brazilian fish stew with coconut milk)

By: kseniaprints · Updated: Feb 4, 2026 · This post may contain affiliate links.

  • Facebook
  • Flipboard
  • X
Jump to Recipe Pin Recipe Jump to Video

Moqueca is a flavorful and comforting Brazilian fish stew with coconut milk, cilantro, and tender pieces of white fish. Taught to me by my Brazilian friend Fernanda, this authentic moqueca recipe is creamy, aromatic, and ready in just 30 minutes. Whether you're new to Brazilian cooking or already love Latin American flavors, this dish brings warmth and joy to the table.

Three bowls of soup on a marble table.

I was sweating as I ladled out my first serving of Brazilian moqueca to my guests. This coconut milk fish stew was the main course on a busy evening celebrating Brazilian music and flavors. This recipe was not my brainchild; it was taught to me by my friend Fernanda, who was standing beside me, overseeing my every move. 

Getting the flavors of this soup wrong meant offending my friend, her family's recipe, and centuries of Brazilian cooks who have been making this historic dish for centuries. I simply couldn't get it wrong.

Save This Recipe Form

Want to save this recipe?

Enter your email below & I'll send it straight to your inbox. Plus you’ll get more great recipes and tips from me each week!

Luckily for me, I didn't. The compliments poured in as guests sipped their fish soup with coconut milk. And Fernanda's smile was worth every moment of stress.

I particularly enjoy how versatile moqueca is; it can be made with different types of seafood and can be adapted in various ways to suit your family's preferences and dietary needs. Don't like fish? Make it with shrimp. Run out of coconut milk? Substitute it with cream or non-dairy milk. Want some heat? Add a touch of jalapeno peppers. 

What Is Moqueca?

A bowl of brazilian moqueca with a spoon in it.

Moqueca (pronounced mo-KEH-kah) known as moqueca de peixe, is a traditional Brazilian seafood stew that is similar in flavor to Colombian Caribbean food made with firm white fish, tomatoes, onions, garlic, peppers, lime juice, and coconut milk. As the ingredients simmer together, they create a vibrant, heartwarming broth that's both comforting and deeply aromatic.

It's a dish shaped by African, Indigenous, and Portuguese influences, especially in the coastal regions of Bahia and Espírito Santo.

The stew recipe typically includes firm white fish and sometimes other seafood like prawns or shrimp. It is essential to garnish it with fresh cilantro before serving, which adds a burst of herby freshness.

Moqueca Variations

A bowl of brazilian moqueca with a spoon in it.
  • Moqueca Baiana - coconut milk + dendê oil (Bahia)
  • Moqueca Capixaba - lighter, no coconut milk, no dendê (Espírito Santo).

One of the defining elements of moqueca is dendê oil, a red palm oil that gives the dish its signature color and subtly smoky, earthy flavor. Because dendê can be difficult to find in North America, this recipe uses a blend of paprika and neutral grapeseed oil to achieve a similar warmth and hue without compromising authenticity.

Ingredients

A plate of fish and vegetables on a table.

To make the moqueca recipe, you will need to gather the following fresh ingredients from your pantry and fridge:

  • Halibut fish: make sure the fish is firm and fresh, and cut it into even pieces. You can also use cod, add seafood or even salmon, thought white fish is traditional.
  • Vegetables: A colorful mix of chopped red bell peppers, red onions, and a couple of celery stalks adds both flavor and crunch. I also grab a bunch of scallions and half a bunch of cilantro, to add a burst of fresh flavor to the broth.
  • Garlic: mince up some garlic cloves for that aromatic kick every great stew needs.
  • For the base: I choose a neutral oil like grapeseed or peanut oil for sautéing.
  • Tomatoes: a can of diced tomatoes and a can of creamy coconut milk bring everything together.
  • Seasonings: I'm generous with the paprika and don't forget to season with salt and pepper to taste.
  • Dende oil (optional): this traditional Brazilian ingredient is part of what gives this dish a traditional flavor. However, I have found an easy way to replicate it - so check out the full recipe to get the breakdown.

Your kitchen will smell incredible as these flavors start to come together! See recipe card for exact quantities.

Equipment

  • Dutch oven
  • Spatula

Step-By-Step Instructions

Here are the simple steps to follow to make a delicious moqueca:

Prepare the fish:

Fresh fish on a cutting board with limes and herbs.

Begin by rubbing the fish with a mixture of garlic, salt, and black pepper. Let it marinate for about half an hour to infuse those flavors.

Cook the Vegetables:

The ingredients for a fish stew are in a bowl on a marble counter.

Heat some oil in a large pot or Dutch oven over medium heat and gently cook the onions, bell peppers, and celery until they're tender, about 10 minutes.

Mix the paprika oil:

If not using dende oil, mix 2 tablespoons of neutral or peanut oil in a small bow with 1 teaspoon of paprika and the remaining garlic clove. Season with salt and pepper.

Build the Base:

Ingredients for a fish stew recipe on a cutting board.

Add canned tomatoes, paprika oil, and a touch more salt and pepper to the same pot. Bring to a simmer and let cook together for 5 minutes. 

Layer the Ingredients:

A pot of stew with vegetables and herbs on a table.

Remove half the veggies from the pot and set aside. Then, over the layer of the cooked veggies at the bottom, lay the seasoned halibut over them, and top it off with the remaining vegetables.

Add the coconut milk:

Pour in the coconut milk over everything, lower the heat and cook until the fish is just cooked, which usually takes about 15 minutes.

Top with cilantro and scallions:

A person holding a pot of moqueca.

Add the diced cilantro and green onions to the pot. Season with lime juice, salt and pepper. I always taste it at this point to see if it needs any more seasoning.

Garnish and Serve:

Just before serving, sprinkle more fresh cilantro over the top for that burst of color and a fresh herb flavor. Enjoy!

Storage & Make Ahead

A bowl of stew with a spoon in it.

When I make Brazilian fish stew, I always set aside some for leftovers, because it tastes just as delicious the next day. To store, let the stew cool completely, then transfer it to an airtight container and refrigerate. It keeps well for up to 3 days.

Common Mistakes to Avoid

A plate of fish and vegetables on a table.
  • Overcooking the fish - it should flake easily but stay tender.
  • Using low‑fat coconut milk - it won't thicken properly.
  • Skipping the lime - it brightens the entire dish.
  • Boiling the stew - simmer gently to keep the fish intact.

Top Tips

Select the Right Fish: opt for firm white fish like cod or halibut; they hold up well and don't fall apart in the stew.
Balance of Flavors: squeeze in just enough lime juice to add a zesty kick without overpowering the delicate taste of the fish.
Coconut Milk: Using full-fat rich coconut milk gives my Moqueca a creamy consistency.

What to Serve With Moqueca

A bowl of stew with fish in it.

When you whip up a hearty batch of moqueca, serve it with a few side dishes that complement its rich and vibrant flavors. Here's my go-to list:

  • White Rice: The traditional base for moqueca, essential for soaking up the sauce.
  • Farofa: Moqueca in Brazil is usually served with farofa, a toasted manioc (cassava) flour mixture, which adds a crunchy texture contrast.
  • Pirão: This is a thick, creamy porridge made with cassava flour and fish stock, and it's just heartwarming.
  • Salad: I opt for a light and fresh green salad to balance the stew's richness.
  • Fried plantains - like these fried sweet plantains.
  • Bean stew

More Soup Recipes You'll Love!

For comfort in a bowl, I recommend a creamy kabocha squash soup, the classic jewish chicken soup or the Colombian chicken and potato soup. For another fish-centric soup, I recommend this fish soup you can make in your Instant Pot.

Recipe

Tried and loved this recipe? Please leave a 5-star review below! Your reviews mean a lot to me, so if you've got any questions, please let me know in a comment.

A bowl of stew with halibut in it.

Moqueca (Brazilian Fish Stew)

Ksenia Prints
Moqueca is a flavorful Brazilian fish stew with coconut milk and cilantro. Taught to me by my Brazilian friend Fernanda, this chunky, creamy and filling seafood soup is ready in 30 minutes and will become a family favorite.
4.99 from 95 votes
Print Recipe Pin Recipe Save Saved Recipe!
Prevent your screen from going to sleep
Prep Time 30 minutes mins
Cook Time 20 minutes mins
Course Soup, stew
Cuisine Brazilian
Servings 4 servings
Calories 419 kcal

Equipment

  • Dutch oven
  • Spatula

Ingredients
  

  • 1-2 pounds halibut cut into pieces, or other firm white fish like cod
  • 3 garlic cloves minced
  • ½ red onion chopped
  • 1 red bell pepper chopped
  • 2 celery stalks chopped
  • 1 14 ounce can diced tomatoes
  • Dende oil optional
  • 2 tablespoons peanut oil or other neutral oil
  • 1 teaspoon paprika
  • Salt and pepper
  • 1 can coconut milk
  • 4 scallions chopped
  • ½ bunch cilantro chopped, plus more for serving
  • 2-4 lime wedges plus more for serving
  • Rice optional

Instructions
 

  • In a pot, sauté onion, celery, bell pepper and cook until softened.
  • If using dende oil, skip this stage! Otherwise, in a small bowl, combine 2 tablespoons of neutral or peanut oil with 1 teaspoon of paprika and 1 remaining garlic clove. Add salt and pepper to taste.
  • Add tomatoes, dende oil or paprika oil, salt and pepper. Simmer 5 minutes.
  • Remove half the vegetables from the pot. Add the fish on top of the veggies in the pot. Cover with remaining vegetables.
  • Reduce the heat and pour the coconut milk over the top, adding the creaminess to this coconut milk and seafood soup. Cook for 15 minutes.
  • Top with diced scallions and cilantro.
  • Season with lime juice.
  • Taste and adjust seasoning.
  • Serve moqueca immediately, with more lime wedges and cilantro. Moqueca can also be served over rice for a full meal.

Nutrition

Serving: 1gCalories: 419kcalCarbohydrates: 11gProtein: 24gFat: 32gSaturated Fat: 23gPolyunsaturated Fat: 3gMonounsaturated Fat: 5gCholesterol: 56mgSodium: 98mgPotassium: 897mgFiber: 4gSugar: 6gVitamin A: 1158IUVitamin C: 48mgCalcium: 46mgIron: 2mg
Cuisinart Casserole Cast Iron, Cream, 7 quart
Cuisinart Casserole Cast Iron, Cream, 7 quart
$159.95
Buy Now
02/11/2026 08:02 am GMT
Dutch oven
Jamie Oliver Non-Stick Silicone Spatula Set of 2 - Kitchen Utensils for Baking and Cooking - Heat Resistant
Jamie Oliver Non-Stick Silicone Spatula Set of 2 - Kitchen Utensils for Baking and Cooking - Heat Resistant
Buy Now
Spatula
Tried this recipe?Comment + Rate Below!
Connect on Instagram!Find us @immigrantstable

More Recipes

  • Five falafel balls served with sliced cucumber, tomato, onion, cilantro, and a lemon wedge on a white plate.
    Crispy Air Fryer Falafel Recipe
  • A slice of pumpkin cake with whipped cream on top sits on a plate with a spoon beside it.
    Moist Sweet Potato Cornbread
  • Close-up of fudgy chocolate brownies topped with sea salt flakes and chocolate chunks on a plate.
    Fudgy Sweet Potato Brownies Recipe (Naturally Gluten-Free)
  • A square piece of German chocolate cake with coconut topping on a decorative plate next to a fork.
    Gluten-free Queen Elizabeth Cake
  • Facebook
  • Flipboard
  • X
selfie

About Ksenia

Welcome to At The Immigrant's Table! I blend my immigrant roots with modern diets, crafting recipes that take you on a global kitchen adventure. As a food blogger and photographer, I'm dedicated to making international cuisine both healthy and accessible. Let's embark on a culinary journey that bridges cultures and introduces a world of flavors right into your home. Read more...

    • Facebook
    • Instagram
    • Pinterest
    • Twitter
    • YouTube
  • Follow to see more of our recipes in Google

    Comments

      4.99 from 95 votes (84 ratings without comment)

      Tell Me What You Think! Cancel reply

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

      Recipe Rating




      This site uses Akismet to reduce spam. Learn how your comment data is processed.

    1. Lydia says

      January 21, 2024 at 10:06 pm

      5 stars
      WOW!!
      I have never made anything like this before and I was blown away with the flavors.
      I wanted to make an Italain fish stew as we recently had one in an Italian restaurant and it was lovely. While searching pinterest for recipes I found yours and although it wasn't Italian it looked so lovely I had to try it. I am so glad I did, the flavors were just amazing and perfectly balanced.
      I nevr did make Italain stew but I did find a recipe that we all loved! Thank you

      Reply
      • Deirdre says

        August 24, 2025 at 11:39 am

        4 stars
        If I'm using shrimp instead of fish shouldn't I reduce the last cooking time (15 minutes after adding fish)?

      • kseniaprints says

        August 27, 2025 at 3:01 pm

        Yes, cook 5 minutes only after adding shrimp

    2. Sage Scott says

      January 24, 2024 at 12:52 am

      5 stars
      My daughter and I are currently "chickened out" so we've been looking for new fish and seafood recipes to add to our alpha-gal diet. This moqueca recipe caught my eye because it's dairy-free and I haven't had a lot of Brazilian food. Wow! So delicious! We will make it again soon while it's still soup season here.

      Reply
    3. Calli says

      January 24, 2024 at 1:47 pm

      5 stars
      I made your Moqueca recipe with fresh Lake Michigan whitefish. It was so tasty and this soup recipe turned out perfect. Thank you for a great recipe!

      Reply
    4. John Tortorici says

      January 26, 2024 at 9:09 pm

      The directions mentioned fish stock but no where in the ingredients did I find how much. Please help so I can make this wonderful dish. Thanks

      Reply
      • kseniaprints says

        January 28, 2024 at 2:18 pm

        Nope, no stock is necessary! I played with this recipe a lot to get to a recipe that doesn't require any extra stock.

    5. Chloe says

      January 29, 2024 at 5:50 am

      5 stars
      This is my first time trying a Brazilian dish and let me tell you how glad I am that I tried!

      Cooked this for my fam, and they loved it! I added a little bit of chili oil because this household is crazy about chilis!

      Love how creamy the base soup is, and most important of all, so easy to make.

      Thanks for sharing this!

      Reply
    6. Jay says

      January 29, 2024 at 8:01 am

      5 stars
      Can't believe something this tasty only takes 30 minutes! This recipe was so clear and easy to follow. It's quick, delicious, and comforting seafood stew.

      Reply
    7. Sam says

      January 29, 2024 at 9:07 am

      5 stars
      My family likes some heat so I added some chili flakes to this dish, my parents loved how hearty this tasted PLUS the fact that the main highlight is fish - they loved it so much that they asked for the recipe!

      Reply
    8. Glenda says

      January 29, 2024 at 5:32 pm

      5 stars
      I had never made any Brazilian recipes. This delicious fish stew was such a hit with my family and so easy to make that I'm now hunting for other Brazilian dishes. I really appreciate you sharing this one. Thank you!

      Reply
    9. Winn says

      January 29, 2024 at 10:03 pm

      5 stars
      We recently made this with cod last night and it was so delicious I haven't been able to stop thinking about it. My toddler even liked it! We will definitely be making this again very soon- perhaps with halibut this time.

      Reply
      • kseniaprints says

        February 06, 2024 at 6:34 pm

        So happy to hear that!

      • La Rita says

        July 18, 2025 at 12:11 am

        5 stars
        OHHH MYYY LANTAAAAA!!!! This stew is phenomenal! I added shrimp!!! I'll be making this stew at least twice a month. Thanks Sooooo Much For Sharing!!!!!

      • kseniaprints says

        July 24, 2025 at 1:17 pm

        I love it in summer months!!!!

    10. Karen W says

      September 23, 2025 at 5:46 pm

      The ingredients list 2 Tbs of paprika but instructions say to use a teaspoon of paprika in the oil. Which is correct?

      Reply
      • kseniaprints says

        October 02, 2025 at 3:24 pm

        Sorry for the discrepancy, fixed. Should be 1 teaspoon. You can use 2 if your paprika is very fresh.

    Newer Comments »
    A woman cutting a pumpkin in a kitchen while preparing healthy international recipes.

    Privet, I am Ksenia Prints! I help adventurous home cooks explore the world through healthy international recipes.

    More about me →

    Footer

    SEEN ON

    as seen on promo graphic

    ↑ back to top

    About

    • About me
    • Privacy Policy

    Newsletter

    • Sign Up! for emails and updates

    Contact

    • Contact
    • Services
    • Media Kit
    • FAQ

    As an Amazon Associate I earn from qualifying purchases. This site occasionally uses stock photos from Depositphotos.

    This site is owned and operated by Prints Media. Copyright © 2025 At the Immigrant's Table. All rights reserved.

    Rate This Recipe

    Your vote:




    Let us know what you thought of this recipe:

    This worked exactly as written, thanks!
    My family loved this!
    Thank you for sharing this recipe

    Or write in your own words:

    A rating is required
    A name is required
    An email is required

    Recipe Ratings without Comment

    Something went wrong. Please try again.