Moqueca-Style Coconut Fish Stew with Palm Oil
A fragrant Brazilian fish stew simmered in coconut milk and palm oil with fresh herbs and tomatoes, showcasing coastal flavors of Brazil’s Bahia region. This Brazilian-inspired seafood recipe, ready in about 45 minutes, pairs lime juice, salt, palm oil (dendê oil) for a weeknight-friendly dinner that comes together with one pan and minimal cleanup. Each serving lands at about 380 calories and feeds 4, so it slots cleanly into a weekly meal plan and pairs well with a quick salad or grain on the side. Tap "Plan a meal with the AI" below to drop this recipe into your week and send the ingredients straight to Instacart. Nutrition values are approximate, calculated from USDA FoodData Central (fdc.nal.usda.gov) — verify against ingredient labels for any health-driven dietary plan.
Ingredients
- 1.5 lbs, cut into 2-inch chunks firm white fish fillets (like cod or snapper)
- 2 tbsp lime juice
- 1 tsp salt
- 3 tbsp palm oil (dendê oil)
- 1 large, thinly sliced onion
- 1 medium, thinly sliced red bell pepper
- 1 medium, thinly sliced yellow bell pepper
- 3, minced garlic cloves
- 3 medium, chopped ripe tomatoes
- 2 cups coconut milk
- 1/2 cup chopped fresh cilantro
- 1/4 cup chopped green onions
- 1/2 tsp black pepper
The Dutch oven we’d braise this in → Best Dutch Ovens for 2026: Top Picks + Buying Guide
Affiliate disclosure: AislePrompt may earn a commission on qualifying purchases made through Amazon links, at no additional cost to you. See our policy →
Equipment for this recipe
Tools this recipe's steps call for, with a link to each on Amazon.
Instructions
- Step 1: Toss 1.5 lbs fish chunks with 2 tbsp lime juice and 1 tsp salt in a bowl and let marinate for 15 minutes.
- Step 2: Heat 3 tbsp palm oil in a large deep skillet or Dutch oven over medium heat. Add 1 large thinly sliced onion, 1 medium thinly sliced red bell pepper, 1 medium thinly sliced yellow bell pepper, and 3 minced garlic cloves. Sauté for 5-6 minutes until softened and fragrant.
- Step 3: Stir in 3 chopped ripe tomatoes and cook for 4 minutes until tomatoes break down and create a sauce.
- Step 4: Pour in 2 cups coconut milk and bring to a gentle simmer over medium-low heat.
- Step 5: Gently nestle the marinated fish chunks into the sauce, cover, and simmer for 12-15 minutes until fish is opaque and flakes easily.
- Step 6: Stir in 1/2 cup chopped fresh cilantro and 1/4 cup chopped green onions, season with 1/2 tsp black pepper, and remove from heat.
- Step 7: Serve hot with white rice to soak up the flavorful coconut broth.








