Moqueca Recipe: A Creamy, Bright Brazilian Fish Stew

Moqueca Recipe: A Creamy, Bright Brazilian Fish Stew

A great moqueca recipe solves a problem most home cooks run into with fish: you want something impressive, but you don’t want dry, overcooked fillets. Moqueca (Brazilian fish stew) is the answer. It’s fast, fragrant, and built around a coconut-and-tomato base that keeps fish tender while delivering big, coastal flavor.

I’ve made moqueca with cod, halibut, and sea bass, and the thing that matters most is not the exact fish. It’s the method: sauté the aromatics, simmer a creamy broth, then cook the fish gently until it flakes. In this guide you’ll get the full, upgraded recipe (with fixes for common recipe gaps), a clear authenticity breakdown (Bahia vs. Espírito Santo), and practical tips that keep your stew silky instead of watery.

Let’s start with what moqueca is and why it’s such a staple of Brazilian coastal cooking.

What Is a Moqueca Recipe?

Moqueca is a traditional Brazilian fish stew made by gently simmering firm white fish in a coconut milk and tomato sauce with onion, garlic, bell peppers, lime or citrus juice, and cilantro. A classic moqueca recipe is not a long, bubbling boil. It’s a quick simmer designed to cook fish just through while building a creamy broth.

Moqueca sits under the “stew” (and more broadly, seafood dish) but it’s distinct because of its coconut-tomato base and the use of dendê oil (Brazilian palm oil) in the Bahian version. That Bahian style, often called Moqueca Baiana, is strongly associated with Bahia in northeastern Brazil and is known for dendê and coconut milk.

You’ll see discussed is Moqueca Capixaba, from Espírito Santo. It’s often made without coconut milk and without dendê, leaning more on tomatoes, herbs, and sometimes annatto coloring. That difference matters for flavor and for how rich the broth feels.

The dish is easy to spot once you’ve cooked it: fish chunks, a coconut broth, diced tomatoes, peppers, aromatics (onion/garlic), and a fresh herb garnish. The best moqueca tastes creamy yet bright, traditional yet achievable on a weeknight.

Ingredient Choices That Make or Break Brazilian Fish Stew

Most of the recipes list ingredients, but they don’t always explain how to choose them. That’s where home cooks get stuck: “What fish is best?” “Do I really need dendê?” “Why did my stew turn thin?

Choose a firm white fish that can handle simmering

Cod and halibut work well because they hold their shape when cut into 2-inch (5 cm) pieces. Sea bass is also excellent if it’s accessible. Avoid delicate fish that flakes too easily, or you’ll end up stirring it into the broth by accident.

A practical doneness rule: aim for fish that is just opaque and flakes with gentle pressure. For food safety, U.S. guidance commonly cites 145°F / 63°C for seafood. FoodSafety.gov summarizes this safe minimum temperature and also gives the visual cues (no longer translucent, separates with a fork).

Coconut milk and tomatoes: the signature base

Full-fat coconut milk gives the “creamy vs. thin” contrast that defines many moquecas. Tomatoes add sweetness and body, and they balance the richness so the stew doesn’t feel heavy.

Dendê oil (red palm oil): optional, but it changes the whole dish

Dendê oil is traditional in Bahia and gives moqueca its golden-orange color and a distinctive aroma.
If you can find dendê, use it. If you can’t, you can still make a great stew with olive oil, but it will taste simpler vs. more traditional.

A quick, evidence-based note: red palm oil (often abbreviated RPO) is naturally rich in carotenoids and vitamin E compounds like tocopherols/tocotrienols, which is why it has such a vivid color. Reviews in nutrition science and food chemistry describe these bioactives and how they contribute to RPO’s properties.

This authentic moqueca recipe is best enjoyed with Brazilian Rice, which perfectly soaks up the rich coconut milk broth and vibrant seafood flavors. The light, fluffy rice balances the bold spices and creates a traditional Brazilian meal that’s both comforting and satisfying.

The Full Moqueca Recipe
Recipe
Moqueca Recipe — BrazilEats
🌿 BrazilEats
🐟 Brazilian Coastal Stew

Moqueca
Fish Stew

Rich and aromatic seafood stew simmered in coconut milk, tomatoes, and peppers. Bold coastal Brazilian flavor in 45 minutes.

👥 Serves 4–6
Prep: 20 min
🔥 Cook: 25 min
🥥 Coconut + Dendê
🇧🇷 Bahian-Style
Adjust Servings
base = 5 servings
5

Ingredients

Aromatics & Vegetables
3 cloves
garlic, minced
225 g
yellow onion, finely chopped (1 medium / about 1½ cups)
1
medium red bell pepper, sliced into ½-inch (1.25 cm) strips
1
medium orange bell pepper, sliced into ½-inch (1.25 cm) strips
285 g
vine-ripened tomatoes, cut into 1-inch (2.5 cm) chunks (about 2 medium)
Or 1 can (411 g / 14.5 oz) diced tomatoes
2
medium limes, divided
One for zest + juice in the stew; one cut into wedges for serving
15 g
fresh cilantro, chopped (about ½ cup), divided
Fish, Oils & Broth
907 g
skinless cod or halibut fillets, cut into 2-inch (5 cm) pieces (2 lb)
Any firm white fish works — tilapia, snapper, sea bass
1½ tsp
kosher salt, divided (plus more to taste)
2 tbsp
olive oil
2 tbsp
dendê oil (red palm oil)
Gives Moqueca its signature golden color and earthy depth
¼ tsp
cayenne
optional
385 ml
full-fat coconut milk (1 can / 13–14 oz)
240 ml
seafood stock (1 cup)
To Serve
as needed
steamed white rice or cilantro rice
reserved
remaining chopped cilantro and lime wedges

Instructions

1
Prep the Aromatics & Veg

Mince the garlic, chop the onion, slice the bell peppers, and chunk the tomatoes. Cut one lime into wedges for serving. Zest and juice the other lime.

💡 Getting all prep done before you heat the pot makes the cook smooth — this stew moves fast once you start.
2
Season the Fish (Quick Rest)

Pat fish dry. Toss with ¾ tsp salt and 1–2 teaspoons of lime juice. Let it sit 10 minutes while you start the base.

🐟 This tiny marination step — not a long soak — improves flavor and helps the fish taste seasoned all the way through.
3
Sauté the Base

Heat olive oil and dendê oil in a large pot or Dutch oven over medium-high heat until shimmering. Add onion and cook 2 minutes, then add garlic and cook 1 minute more until fragrant.

💡 Don't brown the garlic aggressively — you want fragrant, not bitter.
4
Soften the Peppers

Add both bell peppers and cayenne (if using). Cook for about 3 minutes until slightly softened.

🌶 You're not trying to fully collapse the peppers — you want them tender but still lively.
5
Build the Coconut-Tomato Broth

Add tomatoes (or canned diced tomatoes with juices). Cook 3 minutes until juices start to reduce. Stir in lime zest and juice, remaining ¾ tsp salt, coconut milk, and seafood stock.

Bring to a gentle simmer, then reduce heat to low and simmer 5 minutes.

🥥 Full-fat coconut milk is essential here — light coconut milk makes a thin, watery broth.
6
Cook the Fish Gently

Add fish pieces and press down gently so they're submerged in the broth. Cover and keep the stew at a low simmer for about 5 minutes, just until the fish is opaque and flakes.

🌡️ Target 145°F / 63°C at the thickest piece for food safety. No hard boil — gentle simmer only.
7
Finish with Cilantro & Adjust

Add half the cilantro and stir carefully so you don't break up the fish. Taste and adjust salt and lime.

Serve with rice, the remaining cilantro, and lime wedges.

🌿 Stirring tip: once the fish is in, use a spoon to ladle broth over the top instead of stirring. This keeps pieces intact.

Quick Fixes

💧
Stew too thin?
Uncover and simmer 3–6 minutes to reduce slightly.
🐟
Fish breaking up?
Stop stirring. Spoon broth over the top instead.
🍋
Too rich?
Add ½–1 tbsp (7–15 ml) extra lime juice to brighten.
🥥
Not rich enough?
Add 2–3 tbsp (30–45 ml) extra coconut milk and warm through.

Notes

🍽
Serving Suggestion
Serve over steamed white rice or cilantro rice with lime wedges and fresh cilantro. A side of Brazilian rice recipe completes the meal perfectly.
Make Ahead
Prep all vegetables and chop fish up to 12 hours ahead. Keep fish covered and cold.
♨️
Leftovers
Reheat gently over low heat. Avoid boiling or the fish will toughen.
🐟
Fish Swaps
Cod or halibut are ideal. Tilapia, snapper, or sea bass also work well. Avoid thin fillets.
🛢️
Dendê Oil
Red palm oil gives authentic color and flavor. Sub with annatto oil if unavailable — not olive oil alone.

Moqueca Baiana vs. Moqueca Capixaba: What’s Actually Different?

This is where “authenticity breakdown” gets interesting. Moqueca isn’t one fixed formula. It’s a family of simmered dishes with regional pride behind it.

Moqueca Baiana (Bahia style) is typically made with coconut milk and dendê oil, giving you a richer, creamier broth and a warm orange hue.
It’s often associated with Afro-Brazilian culinary heritage and the coastal pantry of Bahia.

Moqueca Capixaba (Espírito Santo style) is usually lighter. Many versions skip coconut milk and dendê, relying on tomatoes, herbs, and sometimes annatto for color.
So you get “rich vs. light” and “traditional vs. simplified” contrasts depending on which region you follow.

This is also a good place to notice polysemy: “stew” can mean a general cooking method, but it can also refer to a specific named dish. In Brazil, “moqueca” is the dish; “stew” is the category it belongs to. Same idea, different meaning depending on context.

If you want the bigger picture of regional Brazilian food traditions (and how these dishes fit together), see our complete guide to Brazilian cuisine and coastal classics

Nutrition, Sourcing, and Evidence You Can Use

Most top moqueca recipes give a good method but skip the details that readers actually search for later: nutrition per serving, ingredient sourcing (especially dendê), and why certain choices matter

Nutrition info (approximate, per serving)

Moqueca varies based on fish type and coconut milk brand, but for a serving (about 1/5 of the pot when serving 5), many versions land around:

  • Calories: ~420–520 kcal
  • Protein: ~30–40 g
  • Fat: ~22–32 g
  • Carbs: ~10–18 g (mostly from peppers/tomatoes; rice is extra)

For ingredient-level nutrition references, the USDA’s FoodData Central (often abbreviated USDA FDC) is a reliable public resource for baseline values and is managed by USDA’s Agricultural Research Service.

Dendê oil sourcing tips (and why it’s unique)

Look for dendê/red palm oil in Brazilian or West African markets, or online specialty grocers. If it smells rancid or “soapy,” skip it. Good dendê smells nutty and warm.

If you’re curious why dendê is so intensely colored, research reviews describe red palm oil’s carotenoids and vitamin E compounds (tocopherols/tocotrienols). That’s not just nutrition trivia. It’s part of what gives Bahian moqueca its signature look and aroma.

Practical Tips to Nail the Texture and Flavor

A few small habits make this stew feel restaurant-level.

  • Keep the simmer gentle. A hard boil turns fish tough fast. Think “lazy bubbles,” not rolling. This matters because fish proteins tighten as heat rises.
  • Cut fish evenly. Stick to 2-inch (5 cm) chunks so everything cooks at the same pace.
  • Use stock strategically. Seafood stock adds depth, but if yours is very salty, reduce the salt in the pot and adjust at the end.
  • Balance mild vs. spicy on purpose. Cayenne is optional. If you want heat, add it early with the peppers. If you want a milder stew, skip it and add more lime at the end instead.

Serve with contrast. Rice absorbs broth, farofa adds crunch, and lime wedges bring acidity. Those accompaniments are not just “nice,” they’re part of the dish’s design.

Common Mistakes and How to Avoid Them

Most moqueca problems come from heat control and timing.

  • Boiling the stew after adding fish. This makes fish tough vs. tender. Once fish goes in, lower the heat and cover.
  • Stirring aggressively. Fish breaks apart and turns the stew into a thick sauce with flakes. Stir gently, or spoon broth over the top instead.
  • Using low-fat coconut milk. It can make the broth thin and a little watery. Full-fat keeps the stew creamy.
  • Over-salting early. Stock brands vary. Season lightly, then adjust once the broth reduces and the fish is cooked.
  • Skipping lime at the end. Without that citrus lift, the stew can taste rich but dull.

FAQ

The best fish for moqueca is a firm white fish like cod, halibut, or sea bass because it holds together during a gentle simmer. Cut it into even pieces and cook just until opaque so it stays tender.

The difference between moqueca baiana and capixaba is mainly the base and fat: Baiana usually includes coconut milk and dendê oil for a richer stew, while Capixaba is often lighter and commonly skips coconut milk and dendê.

Yes, moqueca can be made without coconut milk by following a Capixaba-style approach with tomatoes, herbs, and stock. The result is lighter and less creamy, but still flavorful.

Brazilian fish stew can be mild or spicy depending on preference. Many moqueca recipes keep heat subtle, using a pinch of cayenne or a mild chili so the coconut-tomato base and fresh cilantro still shine.

Serve moqueca with steamed white rice or cilantro rice, plus lime wedges. Many people also add farofa for crunch and greens on the side to balance the rich broth.

A Moqueca Recipe Worth Repeating

A dependable moqueca recipe is all about gentle simmering, smart ingredient choices, and finishing with lime and cilantro for brightness. Once you get that rhythm, the dish becomes easy: quick prep, short cook time, and a broth that tastes like it took hours.

Your next step: cook it once exactly as written, then try one variation (shrimp added in the last 2–3 minutes or a Capixaba-style lighter base).

Share this post:
Santos Camila​

Santos Camila​

My name is Camila Santos, and food has been the center of my world for as long as I can remember. I grew up watching my grandmother cook in a small kitchen

Leave a Reply

Your email address will not be published. Required fields are marked *