The first time I actually tasted moqueca — and I mean really tasted it, not just ate it — I was sitting at a four-table restaurant in Salvador, Brazil, and a woman named Dona Célia set a bubbling clay pot down in front of me like she was placing a crown on a table. That’s the energy this dish carries. This moqueca recipe is my honest, affectionate attempt to bottle that feeling and bring it into your kitchen, and I want you to know I take that responsibility seriously.
Moqueca is a Bahian fish stew — slow-simmered, layered with flavor, and built on a combination of ingredients that sounds simple until you taste what they become together. Firm white fish, ripe tomatoes, bell peppers, onion, garlic, and cilantro all come together in a bath of rich coconut milk and dendê oil — that’s the red palm oil that gives Bahian cooking its iconic deep color and its warm, slightly earthy finish. This moqueca recipe uses all of it, because leaving any of it out would be like leaving the chorus out of a song.
What Makes This Moqueca Recipe Authentically Bahian
There are two main schools of moqueca in Brazil. The version from Espírito Santo — called moqueca capixaba — skips the coconut milk and the dendê oil entirely. Then there is moqueca Baiana, the Bahian version, which is the one Salvador is famous for and the one I fell absolutely in love with. The dendê oil is not optional here. It is the dish. You can find it online or at Latin and African grocery stores, and I promise it is worth seeking out. It has a deep, nutty, slightly fruity richness that coconut milk alone simply cannot replicate.
Traditionally, moqueca is made and served in a panela de barro — an unglazed clay pot that distributes heat slowly and evenly and subtly flavors the stew over time. If you have one, absolutely use it on a low flame. If you don’t, a heavy-bottomed Dutch oven or deep skillet does a very respectable job, and that is exactly what I use at home. The layering technique — building the vegetables first, then adding the fish without stirring — is where the real magic happens, and I walk you through every step below.
This moqueca recipe serves four people generously, and I want you to notice the word generously, because this is not a dish you serve in dainty little portions. You serve it in a wide pot in the middle of the table with a mountain of white rice, some farofa if you can manage it, and maybe some hot sauce on the side for the people in your life who are, like me, completely incapable of leaving well enough alone.

Gina's Take on Moqueca (And I Put My Whole Heart In It)
Ingredients
Method
- In a medium bowl, combine the fish chunks with lime juice, half the minced garlic, salt, and cumin. Toss gently to coat, cover, and marinate in the refrigerator for 15 to 20 minutes while you prep the vegetables.
- Heat 2 tablespoons of the dendê oil in a large, heavy-bottomed Dutch oven or deep skillet over medium heat.
- Add the sliced onion and cook, stirring occasionally, for 3 to 4 minutes until softened and just beginning to turn translucent.
- Add the remaining garlic and cook for 1 minute more, stirring, until fragrant.
- Layer the sliced tomatoes over the onions in an even layer, then layer the red and green bell pepper rings on top. Scatter half the cilantro over the vegetables. Season lightly with salt.
- Remove the fish from the marinade and nestle the pieces in a single layer on top of the vegetable base. Do not stir.
- Pour the coconut milk evenly over everything. Drizzle the remaining 1 tablespoon of dendê oil over the top. Add the sliced chili now if using.
- Bring to a gentle simmer over medium heat — do not boil. Once simmering, reduce heat to medium-low, cover the pot, and cook for 12 to 15 minutes until the fish is opaque and cooked through. Resist the urge to stir; let the layers do their work.
- Taste the broth and adjust salt as needed. Scatter the remaining cilantro over the top.
- Serve immediately, ladled over white rice in wide bowls, with lime wedges on the side.
Notes
A word about the fish: you want something firm that won’t fall apart during the gentle simmer. Sea bass, halibut, grouper, mahi-mahi, or snapper all work beautifully. I’ve used cod in a pinch and it was still delicious, though it flaked a bit more than I’d like. Whatever you choose, cut it into generous pieces — about two-inch chunks — so it has presence in the bowl. This is a stew where the fish should feel like the main character, not a supporting player.
One technique note that genuinely changed my results: do not stir the fish once it goes in. Layer your marinated fish right on top of the vegetable base, pour the coconut milk over everything, and then let the pot do its work. The fish steams and poaches in that fragrant liquid, staying tender and intact. The moment you start stirring, you start breaking it down, and while it’ll still taste wonderful, you lose some of the beautiful structure that makes moqueca moqueca and not just a fish soup.
For serving, white rice is absolutely essential — the stew is rich and you need something to catch all that gorgeous broth. In Bahia, farofa (toasted cassava flour) and pirão (a thick broth-thickened porridge, also made from cassava) often come alongside, but at home I usually keep it simple: rice, a few lime wedges to squeeze over the top, extra cilantro for the table, and maybe some sliced fresh chili if your household runs spicy. Brad has started putting hot sauce on everything, which I’m choosing to take as a compliment to the base recipe.
This moqueca recipe has become one of those dishes I make when I want to say something without words. When someone needs feeding that goes beyond just eating. When I want to bring a little piece of Salvador into my kitchen and share what that city gave me with the people I love. Food does that. The right dish, made with care, carries the whole story of where it came from, even when you’re a thousand miles away from the source.
Dona Célia, if you ever somehow find this recipe floating around the internet, I hope I did you some honor. I’m still thinking about your clay pot. I expect I always will. Now go make this — and don’t skip the dendê oil. I’m watching. Well, not literally. But spiritually, absolutely.
Read the full story of how Gina found this dish in Salvador, Brazil on Gina’s Passport to Flavor.

Pingback: Moqueca: The Authentic 1-Bowl Magic of Salvador, Brazil