Authentic Moqueca Recipe: Traditional Brazilian Fish Stew
Master this authentic moqueca recipe. A fragrant Brazilian fish stew with coconut milk, bell peppers, and dendê oil, layered in a traditional clay pot for maximum flavor.
This authentic moqueca recipe brings the vibrant, soul-warming flavors of Bahia directly to your kitchen. Unlike other seafood stews that rely on heavy stirring, this Brazilian fish stew is all about the art of layering, allowing firm white fish to steam gently atop a bed of aromatics.
The secret to a true moqueca baiana lies in the combination of coconut milk and dendê (red palm) oil, which gives the broth its signature sunset hue and earthy depth. By keeping the lid tight and the heat steady, the fillets stay perfectly intact, infused with the bright zing of fresh lime and a literal wall of coriander to finish.
Ingredients
The Fish & Marinade
- 2 lbs (900g) firm white fish fillets (snapper, halibut, or sea bass), cut into large chunks
- 3 cloves garlic, minced
- 2 tablespoons fresh lime juice
- 1 teaspoon kosher salt
- 1/2 teaspoon black pepper
The Stew Base
- 2 tablespoons extra-virgin olive oil
- 2 tablespoons dendê (red palm) oil
- 1 large yellow onion, sliced into rings
- 1 red bell pepper, sliced into rings
- 1 green bell pepper, sliced into rings
- 3 large tomatoes, sliced into rounds
- 14 oz (400ml) full-fat coconut milk
- 1/2 cup fresh cilantro (coriander), roughly chopped
- 2 green onions, sliced
- 1 malagueta pepper or habanero, pierced (optional, for heat)
Instructions
- 1
Marinate the fish by tossing the chunks with garlic, lime juice, salt, and pepper in a bowl; let it sit for 20 minutes while you prep the vegetables.
- 2
Drizzle the olive oil and 1 tablespoon of the dendê oil over the bottom of a heavy-bottomed pot or traditional clay moqueca pan.
- 3
Layer half of the onion rings, bell peppers, and tomato slices across the bottom of the pot to create a vegetable trivet.
- 4
Place the marinated fish chunks in a single layer over the vegetables, ensuring they are evenly distributed.
- 5
Cover the fish with the remaining onion, peppers, and tomatoes, then tuck the whole chili pepper (if using) into the side.
- 6
Pour the coconut milk and the remaining tablespoon of dendê oil evenly over the top of the layers.
- 7
Place the lid on the pot and bring to a simmer over medium heat; once simmering, reduce the heat to low and cook for 15 to 20 minutes.
- 8
Resist the urge to stir the pot at any point; the steam and the natural juices from the vegetables will create the broth while keeping the fish fillets intact.
- 9
Check the fish for doneness—it should be opaque and flake easily with a fork—then taste the broth and add more salt if needed.
- 10
Turn off the heat and cover the entire surface with the chopped cilantro and green onions before serving directly from the pot.
Nutrition (per serving)
Estimates only — not medical or dietary advice.
- Calories
- 585 kcal
- Protein
- 44 g
- Carbs
- 16 g
- Fat
- 40 g
- Fiber
- 4 g
- Sugar
- 7 g
- Sodium
- 780 mg
Tips
- → Do not stir the stew. Stirring breaks up the delicate fish and turns the beautiful layers into a mushy consistency.
- → If you cannot find dendê oil, you can substitute it with olive oil infused with a pinch of smoked paprika, though you will miss the specific floral-earthy aroma of the palm oil.
- → Serve this with 'arroz branco' (plain white rice) and 'farofa' to soak up the rich, coconut-heavy broth.
FAQ
What is the best fish for this moqueca recipe?
Choose a sturdy, firm white fish that won't disintegrate. Snapper, monkfish, halibut, or sea bass are ideal. Avoid delicate fish like sole or tilapia.
How do I prevent the coconut milk from curdling?
Keep the heat at a gentle simmer rather than a rolling boil. The fat in the dendê oil and the moisture from the tomatoes help stabilize the sauce.
Can I make this dish without a clay pot?
Absolutely. While a clay pot retains heat beautifully, a heavy Dutch oven or a deep stainless steel skillet with a tight-fitting lid works perfectly well.
Why is my moqueca broth thin?
The broth thickens as the tomatoes break down and the coconut milk reduces slightly. If it's too thin, let it simmer uncovered for the last 5 minutes of cooking.
You might also like
DinnerAuthentic Brazilian Feijoada with Black Beans and Smoked Pork
Master the art of Brazilian feijoada with this deep, glossy black bean stew featuring smoked ribs, linguiça, and carne seca. Serve with rice, farofa, and orange slices.
DinnerCreamy Instant Pot Risotto: The Perfect No-Stir Method
Master this foolproof Instant Pot risotto for a restaurant-quality meal. A no-stir risotto technique using toasted arborio, white wine, and a buttery parmigiano finish.
DinnerAdvancedAuthentic Hyderabadi Chicken Biryani Recipe for Home Cooks
Master this authentic chicken biryani recipe featuring yogurt-marinated meat and saffron rice steamed together for the ultimate dum biryani at home.
DinnerShrimp Etouffee Recipe with Blonde Roux and Shell Stock
This authentic shrimp etouffee recipe features a peanut-butter-blonde roux, homemade shrimp stock, and snappy, tender shrimp. A true Louisiana classic made from scratch.
