Easy Brazilian Fish Stew

This Moqueca, a traditional Brazilian fish stew, features firm white fish gently simmered in a fragrant blend of coconut milk, tomatoes, onions, chilies, and lime. Rich yet vibrant, it’s one of those easy dinner recipes that feels special enough for guests while remaining simple enough for busy weeknights.

Ready in about 35 minutes, this flavorful stew delivers an impressive depth of taste without requiring complicated techniques. The creamy coconut milk balances the brightness of the lime and the subtle heat from the chilies, creating a comforting dish that’s both fresh and satisfying.

Moqueca is traditionally served over rice and finished with fresh cilantro and lime. The combination of tender fish, aromatic broth, and fluffy rice transforms simple ingredients into a meal that feels both elegant and comforting.

Easy Brazilian Fish Stew

This version draws inspiration from Salvador, a coastal city in Brazil known for its vibrant seafood dishes and strong African culinary influences. The pairing of fish with coconut milk, chilies, and citrus reflects the region’s signature flavors and creates the distinctive character that makes Moqueca so beloved.

One of the reasons this dish is perfect for entertaining is its flexibility. Parts of the recipe can be prepared ahead of time, allowing the stew to come together quickly just before serving.

For the best results, choose firm white fish that can hold its shape as it cooks in the broth. Excellent options include halibut, Pacific cod or haddock, sea bass, black cod, escolar, and red snapper. Scallops or shrimp also work beautifully, making it easy to adapt the stew based on what’s available or preferred.

Easy Brazilian Fish Stew

Easy Brazilian Fish Stew

Easy Brazilian Fish Stew

Brazilian Fish Stew is a flavorful soup with coconut milk with onion, tomatoes, chilies and lime. With a simple combination of ingredients, this rich and creamy Brazilian Fish Stew (Moqueca) comes together in about 30 minutes.

Prep Time 15 minutes
Cook Time 20 minutes
Total Time 35 minutes

Ingredients

Fish:

  • 1 – 1 1/2 pounds firm white fish- Halibut, Black Cod, Sea Bass ( thicker cuts are best)
  • 1/2 teaspoon salt
  • one lime- zest and juice

Stew/ Sauce:

  • 2–3 tablespoons coconut or olive oil (or use Dende – Brazillian Red Palm oil for the best flavor!)
  • 1 onion- finely diced ( red, white or yellow)
  • 1/2 teaspoon salt
  • 1 cup carrot, diced
  • 1 red bell pepper, diced
  • 4 garlic cloves- rough chopped
  • 1/2 jalapeno, finely diced
  • 1 tablespoon tomato paste
  • 2 teaspoons paprika
  • 1 teaspoon ground cumin (or whole seed)
  • 1 cup fish or chicken stock
  • 1 1/2 cups tomatoes, diced ( preferably fresh)
  • 1 14 ounce can coconut milk ( liquid and solids)
  • more salt to taste
  • 1/2 cup chopped cilantro, scallions or Italian parsley
  • squeeze of lime

Instructions

  1. Cut the fish into 2-inch pieces, then rinse and pat them dry. Place the fish in a bowl and season with salt, the zest from half of the lime, and 1 tablespoon of lime juice. Gently toss to coat the pieces evenly, then set aside while you prepare the stew.
  2. Heat the olive oil in a large sauté pan over medium-high heat. Add the onion and a pinch of salt, then cook for 2–3 minutes until it begins to soften.
  3. Reduce the heat to medium and stir in the carrot, bell pepper, garlic, and jalapeño. Continue cooking for 4–5 minutes, or until the vegetables start to become tender.
  4. Mix in the tomato paste, spices, and stock, stirring until well combined. Bring the mixture to a simmer, then add the tomatoes. Cover and cook over medium-low heat for about 5 minutes, or until the carrots are tender.
  5. Pour in the coconut milk and stir to combine. Taste the broth and adjust the seasoning with additional salt if needed.
  6. Gently nestle the fish into the stew. Simmer for 4–6 minutes, spooning the flavorful broth over the fish occasionally, until the fish is cooked through. Thicker pieces may require a few extra minutes. If preferred, you can also finish cooking the dish in a 350°F (175°C) oven.
  7. Taste once more and adjust the seasoning as needed. Finish with a squeeze of fresh lime juice.
  8. Serve over rice and garnish with cilantro or scallions. Add an extra squeeze of lime and a light drizzle of olive oil, if desired.

Notes

  • This stew is delicious served with rice or crusty bread to soak up the flavorful broth.
  • If you'd like to prepare it ahead of time, make the stew without the fish and refrigerate it for up to 3 days. When ready to serve, reheat the stew and add the fish just before serving so it cooks fresh and maintains its texture.

Storage

  • Store leftovers in an airtight container in the refrigerator for up to 3 days.

Freezer-Friendly

  • The stew can also be frozen for up to 3 months. Thaw in the refrigerator before reheating.

Let us know if you liked this recipe. Try the other recipe categories as well!