Creamy Brazilian Moqueca Fish Stew Recipe Easy Homemade Coconut Milk Fish Stew

Posted on

creamy brazilian moqueca fish stew - featured image

“You won’t believe this came from a mix-up in my kitchen,” I confessed to my friend as I stirred the pot. It was a late Thursday afternoon, and I’d just realized I grabbed canned coconut milk instead of the evaporated kind I usually use for creamy soups. I was halfway through prepping what was supposed to be a simple fish stew. The sizzle when the onions hit the pan was comforting, but honestly, I was a little worried about how it would turn out.

That day, my neighbor, Carlos—who’s usually all about his backyard barbecue—popped over with a bag of fresh fish he’d caught that morning. I wasn’t expecting much, but as the smell of simmering coconut milk, tomatoes, and fresh cilantro filled the kitchen, I knew something special was happening. I forgot to add the lime juice at first and had to fish it out with a spoon (literally), but that little blunder didn’t stop this creamy Brazilian moqueca fish stew from becoming one of my favorite dishes.

Maybe you’ve been there, rushing to whip something up with whatever’s on hand, and ending up with a surprise winner. This recipe has stuck with me because it’s unpretentious yet packed with layers of flavor that feel like a warm hug on a plate. It’s the kind of stew that invites you to slow down, savor each spoonful, and maybe even close your eyes while you do it.

Why You’ll Love This Creamy Brazilian Moqueca Fish Stew Recipe

This creamy Brazilian moqueca fish stew is not just another fish stew—it’s a soulful blend of fresh ingredients that come together in a way that’s both comforting and exciting to your palate. I’ve tested this recipe multiple times, tweaking the seasoning and cooking times to get it just right, and my family keeps asking for more.

  • Quick & Easy: Ready in under 45 minutes, perfect for busy evenings or spontaneous dinner plans.
  • Simple Ingredients: Uses everyday staples you probably already have, plus fresh fish and coconut milk for that tropical touch.
  • Perfect for Cozy Dinners: Whether it’s a chilly night or a weekend treat, this stew feels like a warm escape.
  • Crowd-Pleaser: Even picky eaters love the creamy texture and mild but flavorful spices.
  • Unbelievably Delicious: The balance of citrus, fresh herbs, and creamy coconut milk creates a rich, satisfying dish.

What sets this version apart is the careful layering of flavors—starting with sautéed garlic and peppers, building up with ripe tomatoes, and finishing with just the right amount of coconut milk to achieve that silky texture. Plus, I always add a splash of fresh lime juice at the end to brighten everything up, making it feel vibrant and fresh rather than heavy.

Honestly, it’s the kind of recipe that makes you want to invite friends over just to share the experience—no fuss, just pure, delicious comfort.

What Ingredients You Will Need for Creamy Brazilian Moqueca Fish Stew

This recipe uses simple, wholesome ingredients to deliver bold flavor and satisfying texture without the fuss. Most of these you can find year-round, but when fresh fish is in season, it really shines. If you want to swap out some items, I’ve included substitutions too.

  • Fresh white fish fillets (about 1.5 pounds / 700 g; firm types like cod, halibut, or snapper work best)
  • Coconut milk (1 can, 13.5 oz / 400 ml; I recommend native or Thai brands for creaminess)
  • Fresh tomatoes (3 medium, chopped — or 1 can diced tomatoes if out of season)
  • Red bell pepper (1 large, thinly sliced for sweetness and color)
  • Yellow onion (1 medium, thinly sliced)
  • Garlic cloves (3, minced — don’t skip for that punch of flavor)
  • Fresh cilantro (1/2 cup chopped; adds brightness and herbaceous aroma)
  • Fresh lime juice (from 1 lime; the zing that wakes up the stew)
  • Olive oil or dendê oil (3 tablespoons; dendê oil is traditional and gives an authentic flavor, but olive oil works fine)
  • Salt and freshly ground black pepper (to taste)
  • Optional: Fresh chili pepper or red pepper flakes for a little heat

For a gluten-free option, this recipe is naturally compliant, and you can swap coconut milk with almond or cashew milk, but the flavor and creaminess may differ slightly. When picking fish, I personally prefer local, sustainably caught fillets from the farmers’ market — fresher fish means a better stew.

Equipment Needed

  • Large heavy-bottomed skillet or Dutch oven: Ideal for even heat distribution and simmering the stew gently without burning.
  • Sharp knife and cutting board: For prepping vegetables and fish precisely.
  • Wooden spoon or silicone spatula: To stir without scratching your cookware.
  • Measuring cups and spoons: For accurate ingredient portions.
  • Citrus juicer (optional): Makes squeezing lime juice easier and less messy.

If you don’t have a Dutch oven, a deep skillet with a lid works just fine. I once made the stew in a cast iron pan, and while it heated unevenly at first, careful stirring solved that. For dendê oil, if you can’t find it locally, check online specialty stores or substitute with good-quality olive oil for a milder taste.

Preparation Method

creamy brazilian moqueca fish stew preparation steps

  1. Prepare the fish: Pat the fish fillets dry with paper towels and cut them into 2-inch (5 cm) chunks. Season lightly with salt and pepper. Set aside. (Approx. 10 minutes)
  2. Sauté the aromatics: Heat 3 tablespoons of olive or dendê oil in your skillet over medium heat. Add the thinly sliced onion and red bell pepper. Cook for about 5 minutes until softened and fragrant, stirring occasionally.
  3. Add garlic: Stir in the minced garlic and cook for another minute until aromatic — careful not to burn it, or it’ll taste bitter.
  4. Add tomatoes: Mix in the chopped fresh tomatoes or canned diced tomatoes. Cook for 8–10 minutes, stirring occasionally, until the tomatoes break down and create a rich sauce base. You’ll see the sauce thicken and deepen in color.
  5. Pour in coconut milk: Slowly add the entire can of coconut milk. Stir well, lowering the heat to a gentle simmer. Let the stew cook uncovered for about 10 minutes, allowing the flavors to meld and the sauce to thicken slightly.
  6. Add fish: Gently nestle the fish chunks into the simmering sauce. Cover with a lid and cook for 8-10 minutes on low heat. The fish should be opaque and flake easily when done. Avoid stirring too much to keep the fish intact.
  7. Season and finish: Taste the stew and adjust salt and pepper. Stir in the fresh chopped cilantro and squeeze the juice of one lime over the top. Give a gentle stir to combine everything, then turn off the heat.
  8. Rest and serve: Let the stew rest covered for 5 minutes before serving. This helps the flavors settle. Serve hot with white rice or crusty bread.

Pro tip: If your tomatoes are too watery, simmer the sauce a little longer before adding the coconut milk. Also, if you prefer a spicier version, add fresh chopped chili or red pepper flakes when adding the garlic.

Cooking Tips & Techniques for Perfect Moqueca Every Time

One thing I learned the hard way is to keep the heat moderate when simmering. Too high, and the coconut milk can separate, leaving you with an oily finish. I always turn the heat down quickly once the coconut milk goes in and keep a close eye on it.

When handling the fish, gentle stirring is key. I once lost half the fish by accidentally breaking it up while stirring too vigorously (lesson learned!). Use a wooden spoon to carefully turn the pieces if needed.

Freshness of ingredients makes a huge difference—fresh tomatoes, fresh cilantro, and most importantly, fresh fish. If you have access to a local seafood market, that’s the way to go.

Multitasking tip: While the sauce simmers, prep your sides or set the table. It’s a relatively quick recipe, and having everything ready helps keep things smooth.

Finally, don’t skip the lime juice at the end. It’s the little zing that wakes up all the flavors and lifts the whole dish.

Variations & Adaptations

  • Vegetarian Moqueca: Swap fish for firm tofu or hearty vegetables like eggplant and okra. Simmer gently to absorb the coconut-laden sauce.
  • Spicy Kick: Add sliced fresh jalapeños or a dash of cayenne pepper during the garlic sauté for a fiery twist.
  • Low-Fat Version: Use light coconut milk and reduce the oil to 1 tablespoon. The flavor stays rich thanks to the aromatics.
  • Slow Cooker Adaptation: Prepare the aromatics and tomatoes on the stove, then transfer everything to a slow cooker. Add the fish and coconut milk towards the last 30 minutes on low to avoid overcooking.
  • Herb Swaps: Try fresh parsley or basil instead of cilantro for a different herbal note.

I once made a version with smoked paprika instead of fresh peppers—added a lovely smoky depth that surprised everyone at the table. Don’t be afraid to play around!

Serving & Storage Suggestions

This creamy Brazilian moqueca fish stew shines best when served hot, straight from the pot, ideally over fluffy white rice or with warm, crusty bread to soak up the sauce. A simple side salad with fresh greens and a light vinaigrette balances the richness beautifully.

Leftovers? No problem. Store the stew in an airtight container in the fridge for up to 2 days. When reheating, do so gently over low heat to prevent the coconut milk from separating. You might find the flavors deepen after a day, making the second serving even better.

For longer storage, you can freeze the stew without the fish for up to 1 month, then add fresh fish when reheating. This helps maintain the best texture and flavor.

Nutritional Information & Benefits

This stew is a nourishing choice packed with lean protein from the fish and healthy fats from coconut milk. An average serving (about 1.5 cups or 350 ml) provides approximately:

Calories 350 kcal
Protein 28g
Fat 20g (mostly healthy saturated fats)
Carbohydrates 10g
Fiber 2g

The fish offers omega-3 fatty acids, which support heart health and brain function. Coconut milk contains lauric acid, known for antimicrobial properties. Plus, fresh herbs and vegetables add antioxidants and vitamins, making this stew both tasty and good for you.

This dish is naturally gluten-free and can be adapted for low-carb diets by skipping rice or bread. Just watch the sodium if you add extra salt.

Conclusion

In a world full of complicated recipes, this creamy Brazilian moqueca fish stew stands out for its simplicity, heartiness, and vibrant flavors. It’s approachable for cooks of all levels and rewarding every time you make it. I love how it brings a little tropical sunshine to my kitchen, especially on those days when I need comfort and a touch of adventure.

Don’t hesitate to adjust the heat, herbs, or fish to suit your taste—this recipe is forgiving and flexible. I hope it becomes a staple in your meal rotation, just like it did in mine.

If you try it, please leave a comment or share your own twists. I’d love to hear how you make this creamy Brazilian moqueca fish stew your own. Happy cooking!

Frequently Asked Questions About Creamy Brazilian Moqueca Fish Stew

Can I use frozen fish for this recipe?

Yes, but thaw it completely and pat dry to avoid excess water in the stew. Fresh fish is preferable for the best texture and flavor.

What can I use instead of dendê oil?

If dendê oil is hard to find, good-quality olive oil is a great substitute. It won’t have the same distinct flavor but still adds richness.

Is this stew spicy?

The basic recipe is mild, but you can easily add fresh chili or red pepper flakes to increase the heat according to your preference.

Can I prepare this stew ahead of time?

You can prep the sauce base a day in advance and add the fish just before serving for the freshest outcome.

What’s the best side dish to serve with moqueca?

Steamed white rice is traditional, but crusty bread or a simple green salad also pairs wonderfully, helping balance the rich flavors.

Pin This Recipe!

creamy brazilian moqueca fish stew recipe
Print

Creamy Brazilian Moqueca Fish Stew

A soulful and creamy Brazilian fish stew made with fresh white fish, coconut milk, tomatoes, and fresh herbs, perfect for cozy dinners and packed with vibrant flavors.

  • Author: paula
  • Prep Time: 15 minutes
  • Cook Time: 30 minutes
  • Total Time: 45 minutes
  • Yield: 4 servings 1x
  • Category: Main Course
  • Cuisine: Brazilian

Ingredients

Scale
  • 1.5 pounds fresh white fish fillets (cod, halibut, or snapper), cut into 2-inch chunks
  • 1 can (13.5 oz) coconut milk (native or Thai brands recommended)
  • 3 medium fresh tomatoes, chopped (or 1 can diced tomatoes)
  • 1 large red bell pepper, thinly sliced
  • 1 medium yellow onion, thinly sliced
  • 3 garlic cloves, minced
  • 1/2 cup fresh cilantro, chopped
  • Juice of 1 lime
  • 3 tablespoons olive oil or dendê oil
  • Salt and freshly ground black pepper, to taste
  • Optional: fresh chili pepper or red pepper flakes for heat

Instructions

  1. Pat the fish fillets dry with paper towels and cut into 2-inch chunks. Season lightly with salt and pepper. Set aside.
  2. Heat 3 tablespoons of olive or dendê oil in a large heavy-bottomed skillet or Dutch oven over medium heat. Add the sliced onion and red bell pepper. Cook for about 5 minutes until softened and fragrant, stirring occasionally.
  3. Add the minced garlic and cook for another minute until aromatic, being careful not to burn it.
  4. Mix in the chopped fresh tomatoes or canned diced tomatoes. Cook for 8–10 minutes, stirring occasionally, until the tomatoes break down and create a rich sauce base.
  5. Slowly add the entire can of coconut milk. Stir well, lower the heat to a gentle simmer, and cook uncovered for about 10 minutes to meld flavors and thicken the sauce slightly.
  6. Gently nestle the fish chunks into the simmering sauce. Cover with a lid and cook for 8-10 minutes on low heat until the fish is opaque and flakes easily. Avoid stirring too much to keep the fish intact.
  7. Taste and adjust salt and pepper. Stir in the fresh chopped cilantro and squeeze the juice of one lime over the top. Give a gentle stir to combine, then turn off the heat.
  8. Let the stew rest covered for 5 minutes before serving. Serve hot with white rice or crusty bread.

Notes

Keep heat moderate when simmering coconut milk to prevent separation. Stir fish gently to avoid breaking it. Fresh ingredients make a big difference. Add chili or red pepper flakes for spicier stew. Leftovers keep well refrigerated for 2 days and can be frozen without fish for up to 1 month.

Nutrition

  • Serving Size: About 1.5 cups (350
  • Calories: 350
  • Sugar: 5
  • Sodium: 400
  • Fat: 20
  • Saturated Fat: 15
  • Carbohydrates: 10
  • Fiber: 2
  • Protein: 28

Keywords: Brazilian moqueca, fish stew, coconut milk stew, creamy fish stew, easy fish recipe, Brazilian cuisine, seafood stew

Did you make this recipe?

Share a photo and tag us — we can't wait to see what you've made!

Tags:

You might also like these recipes

Leave a Comment

Recipe rating