Print

Moqueca (Brazilian Fish Stew) Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

4.7 from 70 reviews

Moqueca is a traditional Brazilian fish stew featuring tender white fish cooked in a fragrant coconut milk and tomato broth, accented with vibrant bell peppers, garlic, paprika, and lime. This hearty and flavorful dish is served over aromatic Brazilian jasmine rice infused with caramelized onions and garlic, making it a comforting and satisfying meal with rich tropical flavors.

Ingredients

Fish Stew

  • 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 pepper (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 juices (or 1 13-ounce can chopped tomatoes)
  • 2 cups seafood stock or vegetable stock
  • 13-ounce can full-fat coconut milk
  • Zest of 1 lime + lime wedges for serving
  • 2 green onions, chopped, for garnish

Brazilian Rice

  • ½ yellow onion, diced
  • 1 garlic clove, finely chopped
  • 1 cup jasmine rice, washed and rinsed
  • 2 cups vegetable stock
  • ½ teaspoon kosher salt, to taste

Instructions

  1. Sauté Aromatics: Bring a large pot to medium heat and add the coconut oil and olive oil. Once melted, add the diced yellow onion and jalapeño; sauté for 2-3 minutes until softened. Add the sliced red and yellow bell peppers and continue sautéing for another 2-3 minutes to soften.
  2. Add Garlic and Spices: Stir in the finely chopped garlic, sweet paprika, and cayenne pepper. Sauté for 1-2 minutes until garlic softens and spices deepen in color, releasing their aroma.
  3. Add Tomatoes: Add the chopped tomatoes with their juices, stirring everything together. Cook for 2-3 minutes to allow the tomatoes to soften and release their juices, forming a flavorful base.
  4. Prepare Fish: Using paper towels, pat the fish pieces dry. Season them evenly with salt and ground black pepper. Lay the fish gently over the sautéed vegetables without stirring to keep the pieces intact.
  5. Add Liquids and Lime Zest: Pour the full-fat coconut milk and seafood or vegetable stock into the pot. Add the lime zest and season with additional salt and pepper as needed. Gently stir the liquid once, careful not to break the fish pieces.
  6. Simmer Stew: Cover the pot with a lid, leaving a small opening for steam to escape. Bring the stew to a simmer over medium-low heat. Cook for 10-15 minutes until the fish is just cooked through and the stew has slightly reduced.
  7. Prepare Brazilian Rice: In a separate small pot, heat olive oil over medium heat. Add the diced onion and sauté until lightly caramelized, about 3-5 minutes. Add the finely chopped garlic and cook briefly to release its aroma.
  8. Cook Rice: Stir in the rinsed jasmine rice to coat it with the oil and aromatics. Pour in the vegetable stock and season with kosher salt and pepper. Bring the mixture to a boil, then reduce heat to low. Cover with a lid and simmer for about 20 minutes, until all liquid is absorbed and rice is tender.
  9. Finish Rice and Serve: Fluff the cooked rice with a fork. Taste the moqueca and adjust seasoning if needed. Serve the fish stew over the jasmine rice, garnished with chopped green onions and lime wedges for squeezing.

Notes

  • To reduce spiciness, remove jalapeño seeds or omit cayenne pepper.
  • Firm white fish like cod, halibut, or sea bass works best to hold shape during cooking.
  • Use full-fat coconut milk for the richest and creamiest stew texture.
  • Adjust seasoning at the end as seafood stock and canned tomatoes may vary in saltiness.
  • Keep fish pieces large to prevent them from breaking apart when stirring.
  • If seafood stock is unavailable, vegetable stock makes a suitable substitute for a milder flavor.