Print

Brazilian Fish Stew (Moqueca Baiana) Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

4.3 from 11 reviews

This traditional Brazilian Fish Stew, known as Moqueca Baiana, is a vibrant and flavorful dish featuring tender white fish simmered in a rich and creamy coconut milk and tomato broth, infused with aromatic spices like cumin, paprika, and a touch of cayenne pepper. Finished with fresh lime juice and cilantro, this stew perfectly balances sweet, spicy, and tangy flavors. Quick to prepare and perfect for a comforting meal, it pairs wonderfully with white rice or a low-carb cauliflower rice alternative.

Ingredients

Fish Marinade

  • 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

Stew Base

  • 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 kind)
  • 1 tbsp cumin powder
  • 1 tbsp paprika
  • 1 tsp cayenne pepper (optional)
  • 1/2 tsp salt
  • 14 oz / 400ml coconut milk (full fat best)
  • 14 oz / 400ml canned crushed tomatoes
  • 1 cup fish broth/stock (or chicken or vegetable broth)
  • 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 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 infuse the fish with citrus and seasonings.
  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 avoid overcooking.
  3. Prepare the Stew Base: Reduce heat to medium-high. In the same skillet, heat 1 1/2 tbsp olive oil or coconut oil. Add the minced garlic and finely diced onion. Sauté for about 1 1/2 minutes until the onion becomes translucent and fragrant.
  4. Add Vegetables and Spices: Add the sliced red bell peppers, sugar, cumin powder, paprika, cayenne pepper (if using), and 1/2 tsp salt. Cook for another 2 minutes to soften the peppers and toast the spices slightly.
  5. Add Liquids: Pour in the coconut milk, crushed tomatoes, and fish broth. Stir to combine everything well. Bring to a simmer over medium heat.
  6. Simmer the Stew: Lower the heat to medium and cook the stew for 15 to 20 minutes, stirring occasionally, until the mixture thickens and the flavors meld together. Taste and adjust salt and pepper if needed.
  7. Reheat the Fish: Return the cooked fish to the skillet with the stew. Simmer gently for about 2 minutes to reheat the fish without breaking it apart.
  8. Finish with Lime and Cilantro: Stir through 1-2 tbsp lime juice for brightness and garnish generously with freshly chopped cilantro/coriander.
  9. Serve: Serve the Moqueca Baiana hot with traditional white rice or Lime Rice. For a lower-carb option, cauliflower rice works beautifully.

Notes

  • Use firm white fish such as cod, halibut, or snapper for best results.
  • Full-fat coconut milk provides the richest flavor and creaminess.
  • Fish broth can be substituted with chicken or vegetable broth if unavailable.
  • You can substitute olive oil with coconut oil for a slightly different flavor profile reminiscent of the traditional Brazilian version.
  • Adjust cayenne pepper quantity based on your preferred spice level.
  • Serve with fresh lime wedges on the side for extra tanginess.