Disclosure: This post may contain affiliate links. As an Amazon Associate, we earn from qualifying purchases. We only recommend products we trust.
The aroma hits you first, you know? That moment when coconut milk and lime juice swirl together in a pot of gently simmering fish and tomatoes, and suddenly your whole kitchen smells like a coastal village you’ve always wanted to visit.
This is moqueca, Brazil’s gift to weeknight dinners, and I’m obsessed with how simple it is to make at home.
The thing that makes this recipe feel special is the magic of three key ingredients: coconut milk, lime juice, and cilantro. They transform humble white fish into something that tastes like you spent all day in a restaurant kitchen, when really you spent less than an hour at the stove.
It’s rich without being heavy, bright without being sharp, and honestly, it’s the kind of dish that makes you feel like you’re cooking something truly adventurous.
Ready to bring a little piece of the Brazilian coast to your dinner table? Let’s dive in.
Table of Contents
Why You’ll Love This Recipe

This stew checks every box for modern home cooks. It’s quick, coming together in under 45 minutes. It’s naturally dairy-free, making it perfect if you’re avoiding cream-based dishes.
And here’s the best part, it’s foolproof even if you’re new to cooking fish. The coconut milk gently cooks the fish so there’s no risk of drying it out.
Ingredients You’ll Need
Here’s everything you’ll need to make this beautiful stew:
- 1 pound firm white fish (cod or grouper), cut into 2-inch chunks
- 1 (14-ounce) can coconut milk
- 1 (14-ounce) can crushed tomatoes
- 1 medium yellow onion, diced
- 4 cloves garlic, minced
- 1 red bell pepper, diced
- 1 lime, juiced (about 2 tablespoons)
- 1/4 cup fresh cilantro, chopped, plus more for garnish
- 2 tablespoons olive oil
- 1 teaspoon salt, plus more to taste
- 1/2 teaspoon black pepper
- Optional: 1/2 teaspoon red pepper flakes for gentle heat
Step-by-Step Instructions
Step 1: Sautรฉ Your Aromatics
Heat the olive oil in a large pot or Dutch oven over medium heat. Add the diced onion and cook for about 3 minutes until it starts to soften. Stir in the garlic and bell pepper, cooking for another 2 minutes until fragrant.
Step 2: Build the Base
Pour in the can of crushed tomatoes and coconut milk, stirring to combine. Bring the mixture to a simmer. This is where the magic starts.
Step 3: Add the Fish
Gently add the fish chunks to the simmering broth. Stir carefully so the fish doesn’t break apart. The coconut milk is now going to cook the fish gently, keeping it tender and moist.
Step 4: Simmer Until Done
Let the stew simmer for 8 to 10 minutes, or until the fish flakes easily with a fork and is opaque throughout. The flesh should be tender, not at all rubbery.
Step 5: Finish with Brightness
Stir in the lime juice and cilantro. Taste and adjust salt and pepper as needed. If you like a little heat, this is when you’d add red pepper flakes.
Step 6: Serve
Ladle the stew into bowls and serve over white rice or with crusty bread for soaking up every drop of that coconut broth. Garnish with extra cilantro if you like.
Pro Tips for Perfect Results
Choose your fish carefully. Cod and grouper are ideal because they’re firm and won’t fall apart in the stew. If you can’t find either, halibut or snapper work beautifully too.
Don’t rush the simmering. The 8 to 10 minutes of gentle cooking is what makes the stew taste restaurant-quality without any real effort on your part.
Lime juice is your secret weapon. It brightens the entire dish at the end. Don’t skip it, and don’t use bottled if you can help it. Fresh lime makes such a difference here.
Did you know? Coconut milk has been used in Brazilian coastal cooking for centuries, brought over by Portuguese traders and West African influences. It’s one of the reasons moqueca tastes so vibrant and special.
Substitutions & Variations
| Ingredient | Substitute |
| Coconut milk | Light coconut milk for a lighter version |
| White fish | Shrimp (cook just 3-4 minutes) or firm salmon |
| Fresh cilantro | Fresh parsley if that’s what you have |
| Crushed tomatoes | Fresh tomatoes (about 3-4 medium), diced |
Storage & Serving
This stew keeps well in the refrigerator for up to 3 days. Store it in an airtight container. It also freezes beautifully for up to 2 months, though the fish texture is best enjoyed fresh or within a day of making it. Reheat gently on the stovetop over low heat, adding a splash of water if needed.
Serve it hot, over rice, with warm crusty bread on the side. A simple green salad cuts through the richness beautifully.
Final Thoughts
Brazilian moqueca deserves a place in your regular rotation. It’s the kind of recipe that transforms your dinner table into something special without requiring special skills or hard-to-find ingredients. Every time you make it, you’ll get more confident, and it’ll taste even better.
Give this a try this week. Drop any questions or your own variations in the comments below, happy cooking!
Print
Brazilian-Style Coconut White Fish Stew: Easy Moqueca at Home
- Total Time: 40 minutes
- Yield: 4 1x
Description
This easy Brazilian-style coconut white fish stew brings the flavors of the Brazilian coast to your kitchen. Coconut milk, lime juice, and fresh cilantro create a bright, rich broth that gently simmers firm white fish until tender. Serve over rice or with crusty bread for a weeknight dinner that tastes like you spent all day cooking.
Ingredients
- 1 pound firm white fish (cod or grouper), cut into 2-inch chunks
- 1 (14-ounce) can coconut milk
- 1 (14-ounce) can crushed tomatoes
- 1 medium yellow onion, diced
- 4 cloves garlic, minced
- 1 red bell pepper, diced
- 1 lime, juiced
- 1/4 cup fresh cilantro, chopped
- 2 tablespoons olive oil
- 1 teaspoon salt
- 1/2 teaspoon black pepper
Instructions
- Heat olive oil in a large pot over medium heat
- Add diced onion and cook 3 minutes until soft
- Stir in minced garlic and bell pepper, cook 2 minutes
- Pour in crushed tomatoes and coconut milk, bring to simmer
- Gently add fish chunks to the simmering broth
- Simmer 8 to 10 minutes until fish flakes easily
- Stir in lime juice and cilantro
- Taste and adjust salt and pepper
- Serve over white rice or with crusty bread
Equipment
Check Price โ
Check Price โ
Check Price โ 
Stainless Steel Measuring Cup Set
Check Price โNotes
- Choose firm white fish like cod or grouper
- Don’t rush the simmering for best results
- Fresh lime juice is essential, not bottled
- Store in refrigerator for up to 3 days
- Prep Time: 15 minutes
- Cook Time: 25 minutes
- Category: Main Course
- Method: Stovetop
- Cuisine: Brazilian
Nutrition
- Serving Size: 1 bowl
- Calories: 280 calories
- Sugar: 3g
- Sodium: 580mg
- Fat: 14g
- Saturated Fat: 8g
- Unsaturated Fat: 4g
- Trans Fat: 0g
- Carbohydrates: 8g
- Fiber: 2g
- Protein: 32g
- Cholesterol: 60mg








