Moqueca Brazilian Fish Stew

Featured in: Fresh and Flavorful Seafood

Moqueca is a beloved Brazilian dish featuring tender fish simmered with coconut milk, tomatoes, bell peppers, onions, and fresh herbs. The combination of rich flavors is accentuated by a squeeze of lime and a garnish of cilantro, giving it a vibrant finish. Traditionally cooked in a clay pot, this coastal classic offers a balance of creamy and tangy notes, ideal for serving with rice or crusty bread. Each bite captures the essence of Brazil's diverse culinary traditions, making it a warm and satisfying main course perfect for sharing.

A woman is sitting at a table with a plate of food in front of her. The plate contains a dessert with berries on top.
Updated on Sun, 16 Nov 2025 22:19:44 GMT
A bowl of Moqueca Brazilian Fish Stew, filled with a variety of vegetables and seafood, is served on a dining table. Pin it
A bowl of Moqueca Brazilian Fish Stew, filled with a variety of vegetables and seafood, is served on a dining table. | recipebyme.com

Moqueca is a vibrant Brazilian fish stew layered with coconut tomato and bright pepper flavors. It is the kind of dish I turn to when I crave something warming but also light and full of color. Every spoonful takes me back to lively family dinners where we crowded around the table passing lime wedges and fighting over the last scoop of rice.

When I tried this version with coconut milk and good cod I never looked back. It is comfort food and celebration in the same bowl. My friends now beg me for the recipe every time I serve it.

Ingredients

  • Coconut oil: gives the base subtle sweetness and helps carry the other flavors
  • Olive oil: brings richness that balances the coconut oil and adds depth
  • Yellow onion: forms the savory backbone for both stew and rice
  • Jalapeño: gives gentle heat use fresh bright and shine it up by removing seeds
  • Red and yellow bell peppers: add sweetness and crunch look for ones with glossy skin
  • Garlic: is essential for punch and savory depth always use fresh and mince finely
  • Sweet paprika: provides warm color and a gentle earthy note try Spanish if possible
  • Cayenne: offers a pleasant kick adjust to your heat tolerance
  • Kosher salt: enhances all the natural flavors and helps the fish become tender
  • Ground black pepper: gives warmth and complexity use freshly cracked for the best aroma
  • Firm white fish (cod or similar): keeps its shape as it simmers buy sustainably sourced if possible
  • Vine tomatoes or canned substitute: brings acidity and body ripe and juicy is best
  • Seafood or vegetable stock: adds umami and ocean flavor opt for low sodium to control saltiness
  • Full fat coconut milk: makes the stew creamy and luxurious always shake the can well
  • Lime: provides bright citrusy zip zest and add wedges for squeezing
  • Green onions: give a last-minute fresh finish and crunch
  • Jasmine rice for serving: is nutty and aromatic rinse well to avoid gumminess

Instructions

Prepare the Flavor Base:
Start both the rice and the fish stew by heating olive oil or coconut oil in your pots over medium heat. For the stew use a large wide pot so the fish fits in a single layer. Sauté the onion and jalapeño gently for two to three minutes to soften but not brown them. This draws out sweetness and builds the first layer of savory flavor.
Sauté the Peppers and Garlic:
Add sliced bell peppers to the onion and soften them for two to three minutes. Stir the pot frequently so nothing sticks. Once the peppers soften add the finely chopped garlic sweet paprika and cayenne. Sauté for about one to two minutes. This step is crucial for blooming the spices and getting their flavors into the oil.
Simmer the Tomatoes:
Add your chopped tomatoes with all their juices to the pot. Let them cook for two to three minutes until they melt down and combine with the aromatics. You are looking for most of their water to evaporate and their flavor to concentrate.
Lay in the Fish:
Pat the fish pieces dry with paper towels and season them with salt and black pepper on all sides. Gently lay the fish over the cooked vegetables making sure not to crowd them. The fish will gently poach as the stew simmers.
Add the Broth and Coconut Milk:
Pour the coconut milk and seafood or vegetable stock over the fish. Add the freshly grated lime zest and adjust the salt and pepper. Stir gently but do not break up the fish. You want the fillets to stay whole for presentation.
Simmer Until Done:
Cover the pot with the lid slightly ajar so some steam escapes. Simmer gently for ten to fifteen minutes until the fish is just cooked and flakes easily. Avoid stirring too much so the fish stays in large pieces.
Prepare the Brazilian Rice:
While the stew cooks heat olive oil in a small pot. Add onion and slowly caramelize to a light golden hue about three to five minutes. Add the rinsed jasmine rice and stir well to coat each grain in the fat for extra flavor and fluffiness. Add vegetable stock salt and pepper and bring to a boil. Reduce to a gentle simmer cover and cook undisturbed for twenty minutes or until the stock is absorbed.
Finish and Serve:
Fluff the rice with a fork before serving. Taste your stew for final seasoning. Spoon the stew over the rice and top with chopped green onions and fresh lime wedges for squeezing.
A bowl of Moqueca Brazilian Fish Stew, featuring shrimp, red peppers, and herbs, is served in a bowl.
A bowl of Moqueca Brazilian Fish Stew, featuring shrimp, red peppers, and herbs, is served in a bowl. | recipebyme.com

I think coconut milk is the true star here. Its creaminess makes the dish stand out and saves the day if your fish is a little dry. I remember the first time I tasted it with lots of lime on top and it was unforgettable. The gentle heat and layered flavors always get everyone asking for seconds and makes it a favorite around our table.

Storage Tips

This stew keeps well in the fridge for up to two days and sometimes tastes even better the next day as the flavors meld. Store leftovers in a glass container with a tight lid. Reheat gently on the stove or in the microwave adding a splash of water or coconut milk if it looks too thick. The rice will dry out faster so keep it covered with a damp paper towel when reheating.

Ingredient Substitutions

If you cannot find cod any flaky firm white fish like halibut haddock or snapper will work. For more heat leave in some jalapeño seeds or add a dash of hot sauce at the table. For a vegetarian version try canned chickpeas or sliced hearts of palm. Fresh tomatoes are best in summer but canned are just fine any other time of year.

Serving Suggestions

Serve the stew over rice as is tradition but crusty bread is also wonderful for mopping up sauce. I like a fresh chopped salad on the side or a spoonful of spicy tomato salsa to brighten things further. For a festive touch top with extra chopped herbs like cilantro or parsley.

Cultural Note

Moqueca comes from the coastal state of Bahia where African Portuguese and Indigenous traditions come together. The dish is a celebration meal often served at big family gatherings or on Sundays. Each version is a little different but always includes coconut milk peppers and plenty of love. This recipe honors those roots while being approachable for weeknight cooking.

Seasonal Adaptations

Ripe garden tomatoes will make this stew extra sweet in late summer. Try winter carrots or sweet potatoes if peppers are not in season. Fresh herbs like basil or cilantro make a bright topping in any season.

Success Stories

A close friend made this for her anniversary dinner at home and told me every bite tasted like a vacation. My child likes to help squeeze the limes so it has become a family tradition whenever we want something special with a sunny mood.

Freezer Meal Conversion

The stew itself freezes decently for up to one month though the fish will become softer. Cool fully before portioning into freezer containers. Thaw in the fridge overnight before gently reheating. Cook the rice fresh for best texture.

A bowl of Moqueca Brazilian Fish Stew, filled with various ingredients such as shrimp, avocado, and red peppers.
A bowl of Moqueca Brazilian Fish Stew, filled with various ingredients such as shrimp, avocado, and red peppers. | recipebyme.com

Make a pot of moqueca and transport your table to Brazil. The warmth and color of this stew guarantee smiles and happy seconds every time.

Recipe FAQs

→ What type of fish works best for moqueca?

Firm white fish like cod, snapper, or halibut hold their shape well and absorb the stew’s flavors beautifully.

→ Can I use other seafood in moqueca?

Yes, shrimp and other shellfish can be included or substituted, creating a delicious seafood medley.

→ Is coconut milk essential in moqueca?

Coconut milk provides creaminess and a subtle sweetness, but some regional versions use olive oil instead.

→ What sides pair well with moqueca?

Steamed rice, farofa (toasted cassava flour), or crusty bread are traditional and help soak up the flavorful broth.

→ How spicy is moqueca?

Moqueca is usually mild, but adding fresh chilies or hot sauce can give it a pleasant heat.

Moqueca Brazilian Fish Stew

Brazilian fish stew with coconut, tomatoes, and peppers; savory, aromatic, and full of vibrant flavor.

Prep Time
20 min
Cook Time
35 min
Total Time
55 min
By: Sana

Category: Seafood Recipes

Skill Level: Medium

Cuisine: Brazilian

Yield: 6 Servings (One large pot)

Dietary Categories: Gluten-Free, Dairy-Free

Ingredients

→ Seafood

01 2 pounds firm white fish fillets, such as cod or halibut, cut into 2-inch pieces
02 1 pound large raw shrimp, peeled and deveined

→ Vegetables

03 2 large tomatoes, diced
04 1 medium yellow onion, thinly sliced
05 1 medium red bell pepper, thinly sliced
06 1 medium yellow bell pepper, thinly sliced
07 4 garlic cloves, finely minced

→ Coconut Base and Aromatics

08 1 cup full-fat coconut milk
09 1/4 cup extra virgin olive oil
10 1/4 cup fresh lime juice
11 1/2 cup fresh cilantro, chopped
12 2 tablespoons palm oil or an extra 2 tablespoons olive oil
13 1 teaspoon sweet paprika
14 1 teaspoon ground black pepper
15 1/2 teaspoon kosher salt, or more to taste

Steps

Step 01

In a mixing bowl, combine lime juice, half the cilantro, garlic, black pepper, and salt. Add fish and shrimp, tossing gently to coat. Cover and refrigerate for 30 minutes.

Step 02

Heat olive oil and palm oil in a large Dutch oven over medium heat. Add sliced onions and cook until translucent, about 5 minutes. Stir in red and yellow bell peppers and continue cooking until softened.

Step 03

Arrange marinated fish and shrimp on top of sautéed vegetables. Scatter diced tomatoes over the seafood.

Step 04

Pour coconut milk evenly over the ingredients. Sprinkle paprika on top. Cover and simmer on medium-low heat for 20 minutes, or until fish flakes easily and shrimp turn pink.

Step 05

Garnish stew with remaining chopped cilantro and adjust seasoning to taste before serving.

Notes

  1. Use firm, fresh fish to prevent disintegration during cooking. For added depth, serve with steamed rice or farofa.

Required Equipment

  • Large Dutch oven or heavy-bottomed pot
  • Mixing bowls
  • Chef's knife
  • Cutting board

Allergen Information

Check each ingredient for potential allergens and consult a healthcare professional if needed.
  • Contains fish and shellfish

Nutritional Info (per serving)

This data is provided as a guide and doesn't replace medical advice.
  • Calories: 350
  • Fats: 15 g
  • Carbohydrates: 9 g
  • Proteins: 38 g