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

4.1 from 7 reviews

Moqueca Baiana is a classic Brazilian fish stew cooked in a fragrant coconut milk broth, enriched with vibrant bell peppers, garlic, and warm spices like cumin and paprika. This dish delivers a perfect balance of richness and freshness with the bright lime juice and fresh cilantro garnish, making it a delicious and wholesome seafood meal ready in under 40 minutes.

  • Total Time: 35 minutes
  • Yield: 4 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 (any)
  • 1 tbsp cumin powder
  • 1 tbsp paprika
  • 1 tsp cayenne pepper (optional)
  • 1/2 tsp salt
  • 14 oz / 400ml coconut milk (full fat preferred)
  • 14 oz / 400ml canned crushed tomatoes
  • 1 cup fish broth/stock (or chicken or vegetable broth)

Finishes

  • 12 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 1 tbsp lime juice, 1/4 tsp salt, black pepper, and 1 tbsp olive oil in a bowl. Cover with cling wrap and refrigerate for 20 minutes to allow the flavors to penetrate.
  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, about 3-4 minutes. Remove from the skillet and set aside.
  3. Prepare the Broth Base: Reduce the heat to medium-high and add 1 1/2 tbsp olive or coconut oil to the same skillet. Sauté the minced garlic and diced onion for 1 1/2 minutes until the onion starts to become translucent.
  4. Add Bell Peppers: Add the sliced red capsicum and cook for 2 minutes, stirring occasionally to soften the peppers slightly.
  5. Add Spice and Liquid Ingredients: Stir in sugar, cumin powder, paprika, cayenne pepper (if using), salt, coconut milk, crushed tomatoes, and broth. Bring the mixture to a simmer and then reduce heat to medium. Let cook for 15 to 20 minutes, stirring occasionally, until the broth thickens and deepens in flavor.
  6. Return Fish to Broth: Add the cooked fish back into the skillet and gently reheat it in the broth for about 2 minutes to meld the flavors without overcooking the fish.
  7. Finish the Stew: Stir in 1 to 2 tbsp lime juice for brightness. Adjust seasoning with salt and pepper as needed.
  8. Garnish and Serve: Sprinkle the chopped fresh cilantro/coriander on top. Serve the stew hot, ideally with steamed rice, lime rice, or for a low-carb option, cauliflower rice.

Notes

  • Use firm white fish such as cod, halibut, or snapper for best results.
  • Full-fat coconut milk gives a richer, creamier broth but light versions can be used for a lighter stew.
  • Fish broth adds depth but chicken or vegetable broth works fine if fish broth is unavailable.
  • Olive oil or coconut oil can be used interchangeably as the cooking fat depending on flavor preference.
  • Adjust cayenne pepper according to your desired heat level or omit for no spice.
  • Marinating the fish briefly enhances flavor and keeps the fish tender during cooking.
  • Serve with fresh lime wedges for added citrus zing.
  • Author: Maya
  • Prep Time: 10 minutes
  • Cook Time: 25 minutes
  • Category: Fish, Stew
  • Method: Stovetop
  • Cuisine: Brazilian
  • Diet: Halal