Moqueca (Brazilian Fish Stew): A Vibrant, Coconut-Rich Seafood Classic

Why You’ll Love This Recipe

Moqueca is a beloved Brazilian fish stew known for its bright colours, bold aromatics, and luscious coconut-based broth. It is simultaneously light and deeply flavourful, combining tender fish, peppers, tomatoes, herbs, and coconut milk into a dish that feels luxurious without being heavy. Whether you’re new to Brazilian cuisine or already enjoy its vibrant flavours, Moqueca offers an unforgettable bowl of comfort.
The first time I made this recipe, I experimented by replacing part of the coconut milk with a splash of almond milk just to see if it would maintain its creaminess. Surprisingly, the broth still tasted rich and smooth, showing just how forgiving this dish can be. From weeknight meals to entertaining guests, Moqueca brings warmth, aroma, and freshness to the table with very little effort.

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Moqueca (Brazilian Fish Stew): A Vibrant, Coconut-Rich Seafood Classic


5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

  • Author: Diva
  • Total Time: 40 minutes
  • Yield: 4 servings
  • Diet: Gluten Free

Description

Moqueca is a traditional Brazilian fish stew made with tender white fish gently simmered in coconut milk, tomatoes, peppers, onions, and aromatic herbs for a rich yet fresh coastal dish.


Ingredients

  • 600 g white fish fillets (cod, snapper, or tilapia), cut into chunks
  • 2 tbsp lime juice
  • 1 tsp salt
  • 0.5 tsp black pepper
  • 2 tbsp olive oil
  • 1 onion, sliced
  • 1 red bell pepper, sliced
  • 1 green bell pepper, sliced
  • 3 cloves garlic, minced
  • 2 cups ripe tomatoes, chopped
  • 1 cup coconut milk
  • 2 tbsp palm oil or olive oil
  • 0.5 tsp paprika
  • 0.5 tsp ground cumin
  • 2 tbsp fresh cilantro, chopped


Instructions

  1. Season fish with lime juice, salt, and black pepper; set aside for 10 minutes.
  2. Heat olive oil in a large pot over medium heat.
  3. Add onion, bell peppers, and garlic; sauté for 4–5 minutes until softened.
  4. Stir in tomatoes, paprika, and cumin; cook for another 5 minutes.
  5. Gently place fish pieces into the pot.
  6. Pour coconut milk over the fish and drizzle with palm oil.
  7. Cover and simmer on low heat for 15–20 minutes until fish is cooked through.
  8. Sprinkle with fresh cilantro before serving.
  9. Serve hot with white rice or farofa.

Notes

  • Do not stir too much to avoid breaking the fish.
  • Palm oil adds authentic flavor but can be replaced with olive oil.
  • Fresh fish works best for this recipe.
  • Prep Time: 15 minutes
  • Cook Time: 25 minutes
  • Category: Main Course
  • Method: Simmering
  • Cuisine: Brazilian

Ingredients

(Tip: You can find the complete list of ingredients and their measurements in the recipe card below.)

White fish fillets (cod, halibut, snapper, or sea bass)

These mild, flaky fish varieties absorb the stew’s flavours beautifully while remaining tender and delicate.

Lime juice

Used to marinate the fish lightly, adding brightness and helping enhance its natural flavour.

Garlic

Provides aromatic depth and pairs perfectly with the peppers and coconut broth.

Onion

A foundational aromatic that softens into the stew, building a savoury base.

Bell peppers (red, yellow, or green)

Add sweetness, colour, and texture, creating Moqueca’s signature layered look.

Tomatoes

Introduce acidity, freshness, and juiciness, balancing the richness of the coconut milk.

Coconut milk

Forms the creamy broth that makes Moqueca so distinctive, adding subtle sweetness and velvety texture.

Palm oil (dendê oil)

Traditional in many Brazilian Moqueca recipes, it adds unique colour and a slightly earthy flavour. Optional but authentic.

Cilantro

Brightens the stew and adds unmistakable freshness.

Paprika or mild chili powder

Adds warmth and enhances the colour of the broth.

Salt and black pepper

Essential for seasoning and balancing all flavours.

Directions

Begin by seasoning the fish with lime juice, salt, pepper, and a small amount of minced garlic. Let it marinate briefly while preparing the vegetables. In a deep skillet or Dutch oven, heat a bit of oil (or palm oil if using) over medium heat. Sauté the onions until softened, then add the bell peppers and cook until they begin to tenderise. Stir in the remaining garlic and tomatoes, allowing them to break down slightly.
Sprinkle paprika over the vegetables, then gently nestle the fish pieces on top. Pour the coconut milk around the sides, ensuring the fish is partially submerged without stirring too vigorously. Bring the stew to a gentle simmer and cook until the fish becomes opaque and flakes easily. Add cilantro just before serving to preserve its freshness.
Taste and adjust seasoning as needed. Serve hot, allowing the broth to settle and the flavours to meld before ladling over rice.

Equipment needed :

Must-Have Tools to Get Rolling

Here’s what you’ll want to have on hand:

Silicone Spatula – Durable, heat-resistant silicone spatula perfect for mixing, scraping, and spreading. Gentle on non-stick cookware and easy to clean.

Large pot – You’ll need this to boil the whole cabbage head and soften the leaves.

large bowl –Spacious, durable large bowl ideal for mixing, serving, or food preparation. Made from sturdy material and easy to clean.

Sharp knife – For coring the cabbage and slicing out the thick stem in each leaf. A paring knife works best.

Mixing bowl – A big bowl makes it easier to combine your meat and rice filling evenly.

Cutting board – For prepping cabbage leaves and rolling them like a pro.

9×13-inch baking dish – Ideal size to fit your rolled cabbage leaves snugly and prevent them from unraveling.

knife – A sharp, durable kitchen knife perfect for slicing, chopping, and dicing with ease

Servings and timing

Serves 4 people.
Prep time: 15 minutes
Cook time: 20 to 25 minutes
Total time: 35 to 40 minutes

Storage/reheating

Store leftovers in an airtight container in the refrigerator for up to 2 days. Reheat gently over low heat to avoid overcooking the fish. If the broth thickens, add a splash of water or coconut milk to loosen it. Freezing is possible, though the fish may break down slightly when thawed; freeze only if necessary.

Variations and Customizations

Add shrimp

Shrimp cooks quickly and blends beautifully with the coconut broth for a mixed seafood version.

Make it spicy

Add fresh chilies, chili paste, or hot paprika to elevate the heat.

Use different fish

Salmon, tilapia, or monkfish can be used depending on availability.

Add more vegetables

Zucchini, okra, or spinach complement the flavours well.

Add broth

Use part seafood or vegetable broth for a lighter, less creamy version.

Make it without dendê oil

Use olive oil; the flavour will be different but still delicious.

Add ginger

Fresh ginger adds brightness and depth to the aromatic base.

Make it creamy

Stir in a spoonful of cream or coconut cream for richer texture.

Add citrus zest

Lime or orange zest brightens the flavour and enhances freshness.

Make it gluten-free

This dish is naturally gluten-free; ensure spices are certified gluten-free.

FAQs

Can I use frozen fish?

Yes, thaw fully and pat dry before marinating.

Can I make Moqueca ahead?

It’s best enjoyed fresh, but you can prepare vegetables in advance.

Do I have to use coconut milk?

It’s traditional, but you may use a mix of broth and light coconut milk.

What type of rice pairs best?

White rice or jasmine rice absorbs the broth beautifully.

Can I use canned tomatoes?

Yes, though fresh tomatoes give a lighter, more vibrant flavour.

Does dendê oil make a big difference?

It adds authentic colour and earthiness but is optional.

How do I prevent the fish from falling apart?

Simmer gently and avoid stirring once fish is added.

Can I substitute cilantro?

Parsley works for those who prefer a milder herb.

Can I add sausage?

Not traditional, but smoked sausage provides depth and body.

Is Moqueca dairy-free?

Yes, naturally—coconut milk replaces dairy cream.

Conclusion

Moqueca brings the essence of Brazilian coastal cooking into your kitchen with its vibrant colours, aromatic base, and silky coconut broth. This dish feels both comforting and refreshing, making it perfect for family dinners, entertaining guests, or simply treating yourself to a warm, flavourful bowl. With ample room for customisation—whether adding shrimp, extra vegetables, or adjusting the heat—this traditional stew continues to impress no matter how many times you make it.

Hungry for more?  Visit our website for full recipes and follow us on Pinterest for daily foodie inspo you’ll love to pin!

Leave a Comment

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star