Moqueca Brazilian Fish Stew with Coconut Milk, Peppers, and Lime
By Emma Collins
Prep
10 min
Cook
20 min
Total
30 min
Servings
4
Level
Easy
Choose firm, white-meat fish fillets such as cod and halibut for poaching in this Brazilian fish stew, moqueca baiana, to prevent the fish from disintegrating. Other ingredients in moqueca baiana, including coconut milk, tomatoes, peppers, and lime zest, make the broth creamy and bright and the fish gently tender.

Coconut oil and olive oil are used to sauté yellow onions, jalapeños, and red and yellow peppers with garlic, sweet paprika, and cayenne in a pot. Vine-ripened tomatoes and seafood stock and full-fat canned coconut milk are simmered in the pot to make a soup to serve with the fish. Lime zest is added to the soup. Green onions and lime slices are served as toppings.

The vegetables will cook but not brown, and the tomatoes will release their juices before you add the fish. Add the fish and only stir the vegetables a few times while cooking the stew at a simmer, not a boil. The stew is ready when the liquid has reduced slightly and the fish is cooked but still holding together. Overmixing is the primary cause of fish breaking apart.

Moqueca is typically served with Brazilian jasmine rice cooked with onion and garlic, vegetable stock, and salt and pepper. Moqueca dishes are often garnished with lime wedges to provide additional sour flavor along with the coconut and tomato flavors. Moqueca dishes containing poached fish can be reheated the next day without becoming tough, as explained in the article.
Why this recipe works
- Firm white fish, such as cod or halibut, adds body and flavor to soups. Whole cuts of firm white fish can be used in coconut soup without falling apart.
- Full-fat canned coconut milk is a key ingredient in this recipe to provide similar texture to other coconut milk products.
- Mature, dark-colored tomatoes produce juice naturally. Canned diced tomatoes can be used as a substitute out of season when fresh tomatoes are not available.
- Two bell peppers provide flavor and color. Jalapeños can be left out if you don't want spicy peppers in a dish.
- Fresh lime zest provides flavor to a dish using one lime. Fresh lime zest provides a bright finish to a seafood soup with coconut and tomatoes.
- The rice mixture includes onion and garlic and vegetable broth. Prepared rice can be served as a plain base to soak up stew broth.
Ingredients
- •2 tablespoons coconut oil
- •2 tablespoons olive oil
- •½ yellow onion (diced)
- •1 jalapeño (diced; seeds removed if too spicy)
- •1 red bell pepper (seeds removed and sliced)
- •1 yellow bell pepper (seeds removed and sliced)
- •2 cloves garlic (finely chopped)
- •1 teaspoon sweet paprika
- •¼ teaspoon cayenne (add more if preferred)
- •1 teaspoon kosher salt
- •½ teaspoon ground black pepper
- •2 pounds cod or other firm white fish (cut into large 1-2 inch pieces)
- •2 vine tomatoes (chopped, with their juices; or 1 13-ounce can chopped tomatoes)
- •2 cups seafood stock or vegetable stock
- •13 ounce can full-fat coconut milk
- •1 lime (zested and cut into wedges)
- •2 green onions (chopped, for garnish)
- •½ yellow onion (diced, for Brazilian rice)
- •1 clove garlic (finely chopped, for Brazilian rice)
- •1 cup jasmine rice (washed and rinsed)
- •2 cups vegetable stock (for Brazilian rice)
- •½ teaspoon kosher salt (to taste, for Brazilian rice)
Instructions
- 1
Bring a large pot to medium heat and add the coconut oil and olive oil.
- 2
Once the oils are melted, add the chopped onion and jalapeño and sauté for 2-3 minutes until softened.
- 3
Add the sliced bell peppers and continue sautéing for another 2-3 minutes.
- 4
Add the chopped garlic, paprika, and cayenne and sauté for another 1-2 minutes, until the garlic softens and the spices deepen in color.
- 5
Add the chopped tomatoes with their juices and cook for another 2-3 minutes so the tomatoes release their juices and soften.
- 6
Pat the fish dry with paper towels, season it with salt and pepper, and lay it on top of the vegetables.
- 7
Pour the coconut milk and seafood stock into the pot.
- 8
Add the lime zest and season with salt and pepper.
- 9
Gently stir the liquid with a spoon, being careful not to disrupt the fish.
- 10
Cover the pot with a lid, leaving a small opening for liquid to evaporate, and bring to a simmer.
- 11
Cook the moqueca for 10-15 minutes, until the fish is just cooked through and the soup has reduced slightly.
- 12
Remove from the heat and taste for seasoning.
- 13
For the Brazilian rice, bring a small pot to medium heat and add olive oil.
- 14
Once hot, add the chopped onion and sauté until lightly caramelized, about 3-5 minutes.
- 15
Add the jasmine rice and sauté until all of the rice is coated with the infused oil.
- 16
Pour in the vegetable stock and season with salt and pepper.
- 17
Bring the rice to a boil, then lower the heat to a simmer and cover with a lid.
- 18
Cook the rice for about 20 minutes, until the liquid has evaporated.
- 19
Fluff the rice with a fork.
- 20
Serve the moqueca over the cooked jasmine rice and garnish with green onions and lime wedges.
FAQ
Nutrition (per serving)
Calories
764
Protein
50g
Fat
39g
Carbs
56g
Reviews
Pin this recipe
Tap an image to save it to Pinterest.




















