I love how moqueca hits that perfect balance of comfort and brightness. The coconut milk brings creaminess, while lime and jalapeño cut through with zing and spice. The fish gently poaches in the flavorful broth, making it incredibly tender without any fuss. And when I spoon it over jasmine rice, it feels like I’m serving up a tropical escape in a bowl. Best of all, it’s quick enough for a weeknight but special enough for guests.
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
For the moqueca:
2 tablespoons coconut oil
2 tablespoons olive oil
1/2 yellow onion, diced
1 jalapeño, diced (seeds removed if too spicy)
1 red bell pepper, sliced
1 yellow bell pepper, sliced
2 cloves garlic, finely chopped
1 teaspoon sweet paprika
1/4 teaspoon cayenne (or more to taste)
1 teaspoon kosher salt
1/2 teaspoon ground black pepper
2 pounds cod or other firm white fish, cut into 1–2 inch pieces
2 vine tomatoes, chopped with their juices (or 1 13-ounce can chopped tomatoes)
2 cups seafood stock (or vegetable stock)
13-ounce can full-fat coconut milk
1 lime, zested and cut into wedges
2 green onions, chopped (for garnish)
For the Brazilian rice:
1/2 yellow onion, diced
1 garlic clove, finely chopped
1 cup jasmine rice, washed and rinsed
2 cups vegetable stock
1/2 teaspoon kosher salt (or to taste)
Directions
Moqueca:
I heat coconut oil and olive oil in a large pot over medium heat. Once melted, I add the diced onion and jalapeño and sauté for 2–3 minutes until softened.
I stir in the sliced bell peppers and sauté for another 2–3 minutes, letting them start to soften.
I add garlic, paprika, and cayenne and sauté for 1–2 minutes more until everything is fragrant and the spices deepen in color.
Next, I mix in the chopped tomatoes and their juices, cooking for 2–3 minutes to let them break down and blend with the aromatics.
I pat the fish dry with paper towels, season with salt and pepper, and gently lay the pieces over the vegetables.
Then I pour in the coconut milk and seafood stock, sprinkle in the lime zest, and season again with salt and pepper. I stir gently, being careful not to break up the fish.
I cover the pot with the lid slightly ajar and bring everything to a simmer. I let it cook for 10–15 minutes until the fish is tender and the broth has thickened slightly.
Once ready, I remove it from heat, taste, and adjust seasoning if needed. I serve it over jasmine rice and garnish with green onions and lime wedges.
Brazilian Rice:
I bring a small pot to medium heat and add olive oil. Once hot, I sauté the onion until it’s lightly caramelized, about 3–5 minutes.
I stir in the rinsed jasmine rice, coating each grain with the fragrant oil.
I pour in vegetable stock, season with salt, and bring it to a boil. Then I reduce the heat to low, cover with a lid, and let it simmer for 20 minutes until the liquid is absorbed.
Once done, I fluff the rice with a fork and it’s ready to serve under a ladle of moqueca.
Servings and Timing
This recipe serves 4 and takes about 30 minutes from start to finish — 10 minutes of prep and around 20 minutes of cooking.
Variations
I sometimes use shrimp or a mix of seafood like mussels and scallops instead of just white fish.
For more heat, I add an extra jalapeño or a few dashes of hot sauce at the end.
I’ve used cherry tomatoes when vine tomatoes aren’t on hand — they work beautifully and bring sweetness.
If I want a smoky twist, I add a bit of smoked paprika or grill the bell peppers before slicing.
I occasionally add thin slices of plantain on top as a garnish for an earthy sweetness.
Storage/Reheating
I store leftovers in an airtight container in the fridge for up to 2 days. To reheat, I warm the moqueca slowly on the stove over medium-low heat. I stir gently to avoid breaking the fish. The rice can be reheated in the microwave or steamed again with a splash of water. I don’t recommend freezing moqueca — the fish and coconut milk don’t hold up well to thawing.
FAQs
What kind of fish works best for moqueca?
I like using firm white fish like cod, halibut, or snapper — they hold their shape well and soak up the flavors beautifully.
Can I make this dish dairy-free?
Yes, it already is! Moqueca traditionally uses coconut milk, so there’s no dairy involved.
Is moqueca spicy?
It has a gentle heat from jalapeño and cayenne, but I adjust both depending on how spicy I want it. It’s easy to make it mild or fiery.
Can I prep it ahead of time?
I chop the vegetables and marinate the fish with lime zest ahead of time. When it’s time to cook, it all comes together quickly.
Do I have to serve it with rice?
Rice is traditional and helps soak up the broth, but I’ve also served it with crusty bread or even over quinoa for a different twist.
Conclusion
Moqueca is one of those dishes that feels like a celebration in a bowl — warm, comforting, and packed with bold flavor. I love how easy it is to bring together, and how every bite gives that balance of richness and brightness. Whether it’s a casual dinner or something more special, this Brazilian fish stew always impresses.
A rich and comforting coconut-based fish stew with bold spices, sweet peppers, and fresh lime—this classic Brazilian moqueca is perfect over fluffy jasmine rice.
Author:Sarah
Prep Time:10 minutes
Cook Time:20 minutes
Total Time:30 minutes
Yield:4 servings
Category:Main Course, Stew
Method:Simmered
Cuisine:Brazilian
Diet:Gluten Free
Ingredients
For the Moqueca:
2 tablespoons coconut oil
2 tablespoons olive oil
1/2 yellow onion, diced
1 jalapeño, diced (seeds removed for less heat)
1 red bell pepper, sliced
1 yellow bell pepper, sliced
2 cloves garlic, finely chopped
1 teaspoon sweet paprika
1/4 teaspoon cayenne pepper (adjust to taste)
1 teaspoon kosher salt
1/2 teaspoon ground black pepper
2 pounds cod (or firm white fish), cut into 1–2 inch pieces