Brazilian Fish Stew (Moqueca)

Jump to Recipe

In my attempts to make something other than chicken, I came across this Brazilian fish stew also known as moqueca, which is pronounced mo-KEH-kah. It’s amazingly easy to make and really affordable depending on the fish you use. I chose cod, which is a bargain these days, but you can use halibut, sea bass, or even shellfish. I did a little research to find out more about moqueca and was disappointed that not much turned up. It was originally cooked in clay pots, but today’s Dutch oven works well. There are many variations of it, but it’s typically a tomato-based broth with onions, peppers, garlic, and lime. The best write up I found about it is from Olivia’s Cuisine.

This recipe, from Little Ferraro Kitchen and adapted from Simply Recipes, is super simple and contains nothing unusual that requires you to go to an ethnic grocery store to purchase. Moqueca can be more complicated than the recipe I tried if you want a more authentic version. Regardless, this stew is both healthy and comforting, especially on a cold rainy day, and you can make this version in under an hour so it’s definitely a week night meal. I did make a couple changes, but nothing major.

Gather your ingredients. Chop up yellow and green onion, peppers, and garlic. Grab paprika, cayenne, coconut milk, fish and vegetable stock, and jasmine rice. Cut up your fish into 2-inch pieces, and season it with salt and pepper. Zest a lime and you’re ready to go.

Brazilian Fish Stew (Moqueca)

Start by sauteing your onions and peppers until they are slightly soft. There’s jalapeno in this recipe, but it really just adds flavor, not heat. Use the entire jalapeno if you’re looking for something spicier, but I removed the ribs and seeds.

Brazilian Fish Stew (Moqueca)

Add garlic, spices, and mix. Let it cook for a minute and until it smells delicious, if it doesn’t already. Add tomato and cook some more.

Brazilian Fish Stew (Moqueca)

Add fish, fish stock, and coconut milk. If you can’t find fish stock, vegetable stock works too. Add lime zest and add some more salt and pepper.

Brazilian Fish Stew (Moqueca)

Bring to a simmer and cook for 20 minutes. While that’s going on, make some extra fancy rice (anything other than white rice is fancy). Saute some onion and garlic in olive oil (that’s the fancy part). Add rice and mix it well. Pour in vegetable stock (more fanciness). Bring it to a boil and cook for 20 minutes.

When it’s all done, serve the stew over rice or side by side. Top with green onion. Some cilantro would have been nice too, but I was so ready to dig in I forgot. The chunks of fish were so tender and flavorful. The tomato was rich with a tiny hint of spice from the jalapenos and cayenne. The broth tasted like it had been cooking for hours. My husband loved it. My son had to surgically remove all the chopped up veggies so he was less of a fan. Regardless, it’s a perfect winter meal that makes great leftovers if you can manage not to eat it all.

Brazilian Fish Stew (Moqueca)

Brazilian Fish Stew (Moqueca)

Servings 4


Fish Stew

  • 2 tablespoons olive oil
  • 1/2 yellow onion chopped
  • 1 red bell pepper seeds removed and chopped
  • 1 yellow bell pepper seeds removed and chopped
  • 1 jalapeno seeds and ribs removed, and chopped
  • 2 cloves garlic chopped
  • 1 teaspoon paprika
  • pinch cayenne
  • 1 pound cod
  • 15 ounces chopped tomato
  • 2 cups fish stock
  • 1 can coconut milk full fat, not light
  • 1 lime zested
  • salt and pepper to taste
  • green onions for garnish


  • 1 tablespoon olive oil
  • 1/2 yellow onion chopped
  • 1 clove garlic chopped
  • 1 cup jasmine rice
  • 2 cups vegetable stock
  • salt and pepper to taste
  • cilantro rough chopped
  • green onions for garnish


  • In a large pot, heat olive oil on medium heat for a minute, Saute chopped onion, bell peppers, and jalapeno until lightly soft, about 6 minutes. Add chopped garlic, paprika, and cayenne. Stir to combine, for another minute.
  • Add chopped tomatoes with their juice. Stir and cook for 2 minutes.
  • After cutting the fish in 2-inch chunks, dry the fish very well with a paper towel. Season with salt and pepper on both sides. Add the fish, fish stock, coconut milk, and lime zest. Season with salt and pepper. Cover and cook for about 20 minutes on medium-low heat or until the fish is fully cooked.
  • While stew is cooking, make the rice. In a small pot, saute chopped onion and garlic in olive oil until lightly caramelized. Add jasmine rice, and stir to coat so onion and olive oil are evenly distributed through the rice.
  • Add vegetable stock, and season with salt and pepper. Bring rice to a boil, lower heat to a simmer, cover, and continue cooking for about 20 minutes or until the liquid has evaporated.
  • Serve by spooning the stew over a bowl of rice, or serve the stew and rice side by side. Garnish with cilantro and chopped green onions.
Feel free to share this recipe: