Brazilian Fish and Coconut Milk Stew (Moqueca)

A fragrant seafood stew, enriched with creamy coconut and palm oil.

  • Serves

    serves 6-8


By Neide Rigo

Updated on October 22, 2021

This stew was inspired by one Brazilian writer Neide Rigo ate at Peixaria do Sales on Brazil’s Ilha de Marajó. You can use any firm-fleshed white fish, such as catfish or halibut. Moqueca is a traditional Brazilian fish stew and takes different forms throughout the country. This version is enriched with coconut milk and palm oil, a traditionally West African cooking fat. Its vibrant color is the product of the oil, but if you can't find it, coconut oil makes a fine, albeit colorless, substitute.

What You Will Need


  • 1 12 lb. boneless, skinless catfish fillets, cut into 2-in. chunks
  • 8 oz. medium shrimp, peeled and deveined
  • 14 cup fresh lime juice
  • 8 cloves garlic cloves, finely chopped, divided
  • Kosher salt and freshly ground black pepper
  • 3 tbsp. olive oil
  • 1 12 small yellow onions, 1 finely chopped, ½ thinly sliced
  • 1 Italian frying pepper, seeded, half finely chopped, half thinly sliced
  • 2 plum tomatoes, 1 finely chopped, 1 thinly sliced
  • 1 cup fish or vegetable stock
  • 1 cup coconut milk
  • 2 tbsp. palm oil
  • 14 cup finely chopped cilantro
  • 12 cup finely chopped basil leaves


Step 1

To a large bowl, add the fish, shrimp, lime juice, and half of the garlic. Season lightly with salt and black pepper and turn to coat. Set aside.

Step 2

To a large Dutch oven set over medium-high heat, add the olive oil, onions, frying pepper, and remaining garlic and cook, stirring occasionally, until beginning to brown, about 6 minutes. Add the chopped tomato and cook until softened, about 5 minutes. Stir in the stock, coconut milk, and palm oil. When the liquid boils, add the reserved fish mixture, return to a boil, and cook until the fish is just opaque and flakes easily and the shrimp is pink and just cooked through, 5–7 minutes. Add the remaining onion, pepper, and tomato slices, then cover and cook until the vegetables have softened, about 5 minutes. Remove from heat, stir in the cilantro and basil, season to taste with salt and pepper, and serve.

Continue to Next Story

Want more SAVEUR?

Get our favorite recipes, stories, and more delivered to your inbox.