Print
clockclock iconcutlerycutlery iconflagflag iconfolderfolder iconinstagraminstagram iconpinterestpinterest iconfacebookfacebook iconprintprint iconsquaressquares iconheartheart iconheart solidheart solid icon

Brazilian Fish Stew (Moqueca Baiana) Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

3.9 from 88 reviews

Moqueca Baiana, a traditional Brazilian fish stew, features firm white fish simmered in a delicately flavoured, refreshing coconut milk and tomato broth. This richly tasty yet light stew offers a vibrant blend of garlic, onion, bell peppers, and warming spices finished with fresh lime juice and cilantro, perfect served with rice or cauliflower rice for a wholesome meal.

  • Total Time: 35 minutes
  • Yield: 4 to 5 servings

Ingredients

Fish

  • 1 lb / 500g firm white fish fillet, no skin, cut into 1"/2.5cm cubes
  • 1 tbsp lime juice
  • 1/4 tsp salt
  • Black pepper, to taste
  • 1 tbsp olive oil

Broth

  • 1 1/2 tbsp olive oil or coconut oil
  • 2 garlic cloves, minced
  • 1 small onion, finely diced (brown, yellow or white)
  • 1 large red capsicum / bell pepper, halved and sliced
  • 1 1/2 tsp sugar
  • 1 tbsp cumin powder
  • 1 tbsp paprika
  • 1 tsp cayenne pepper (optional)
  • 1/2 tsp salt
  • 14 oz / 400ml full-fat coconut milk
  • 14 oz / 400ml canned crushed tomatoes
  • 1 cup fish broth/stock (or chicken or vegetable stock)

Finishes

  • 1 - 2 tbsp lime juice, plus more for serving
  • 3 tbsp roughly chopped fresh cilantro / coriander, plus more for serving

Instructions

  1. Marinate the Fish: Combine the fish cubes with lime juice, olive oil, salt, and black pepper in a bowl. Cover with cling wrap and refrigerate for 20 minutes to infuse flavor and tenderize.
  2. Cook the Fish: Heat 1 tbsp olive oil in a large skillet over high heat. Add the marinated fish and cook until just cooked through and lightly golden brown on the outside. Remove the fish from the skillet and set aside to prevent overcooking.
  3. Prepare the Broth Base: Reduce heat to medium-high. In the same skillet, heat 1 1/2 tbsp olive or coconut oil. Add minced garlic and diced onion. Sauté for about 1 1/2 minutes until the onion becomes translucent, releasing aromatic flavors.
  4. Add Bell Peppers: Add the sliced red capsicum to the skillet and cook for 2 minutes until slightly softened, adding sweetness and texture to the broth.
  5. Create the Broth: Stir in sugar, cumin powder, paprika, cayenne pepper (if using), and salt. Pour in the full-fat coconut milk, crushed tomatoes, and fish or alternative stock. Bring the mixture to a gentle simmer, then reduce heat to medium and cook for 15 to 20 minutes. This allows the flavors to meld and the broth to thicken slightly. Taste and adjust seasoning with salt and pepper if needed.
  6. Reheat the Fish: Return the cooked fish to the simmering broth and gently heat through for about 2 minutes to rewarm without breaking the fish apart.
  7. Finish with Lime and Cilantro: Stir in 1 to 2 tablespoons of lime juice for brightness, then garnish with roughly chopped fresh cilantro. Serve immediately with rice, lime rice, or cauliflower rice for a lower carb option.

Notes

  • Firm white fish is ideal to maintain texture; good choices include tilapia, hake, mahi-mahi, monkfish, halibut, cod, bass, barramundi, red snapper, salmon, and trout.
  • Full-fat coconut milk is preferred for authentic flavor and richness since the coconut essence is carried in the fat content.
  • If fish stock is unavailable or of insufficient quality, chicken or vegetable stock work well as substitutes.
  • Palm oil is traditionally used in this dish but is not recommended due to ethical and sustainability concerns; olive or coconut oil are excellent alternatives.
  • Variations exist across Brazil; this recipe is adapted for a saucier version focusing on balanced, vibrant flavors.
  • Author: Amelia
  • Prep Time: 10 minutes
  • Cook Time: 25 minutes
  • Category: Stew
  • Method: Stovetop
  • Cuisine: Brazilian