Moqueca (Brazilian Fish Stew) Recipe
Introduction
Moqueca is a vibrant Brazilian fish stew bursting with fresh vegetables, creamy coconut milk, and a kick of spice. This comforting dish pairs perfectly with fragrant jasmine rice, making it an ideal meal for family dinners or special occasions.

Ingredients
- 2 tablespoons coconut oil
- 2 tablespoons olive oil
- 1/2 yellow onion, diced (plus another 1/2 onion, diced for rice)
- 1 jalapeno, diced (seeds removed if too spicy)
- 1 red bell pepper, sliced (seeds removed)
- 1 yellow bell pepper, sliced (seeds removed)
- 2 cloves garlic, finely chopped (plus 1 clove for rice)
- 1 teaspoon sweet paprika
- 1/4 teaspoon cayenne pepper (add more if preferred)
- 1 teaspoon kosher salt, plus 1/2 teaspoon for rice
- 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 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)
- 1 cup jasmine rice, washed and rinsed
- 2 cups vegetable stock (for rice)
Instructions
- Step 1: Heat a large pot over medium heat and add the coconut oil and olive oil. Once melted, sauté the diced onion and jalapeño for 2-3 minutes until softened.
- Step 2: Add the sliced red and yellow bell peppers and continue sautéing for another 2-3 minutes.
- Step 3: Stir in the chopped garlic, sweet paprika, and cayenne pepper. Cook for 1-2 minutes until the garlic softens and the spices deepen in color.
- Step 4: Add the chopped tomatoes with their juices and cook for 2-3 minutes to allow them to soften and release their flavor.
- Step 5: Pat the fish dry with paper towels and season with salt and black pepper. Lay the fish pieces gently over the vegetable mix in the pot.
- Step 6: Pour in the coconut milk and seafood stock. Add the lime zest and season with additional salt and pepper. Stir gently without breaking the fish.
- Step 7: Cover the pot with a lid, leaving a small gap for steam to escape. Bring to a simmer and cook for 10-15 minutes until the fish is cooked through and the stew has thickened slightly.
- Step 8: Remove the stew from heat and adjust seasoning to taste. Serve the moqueca over cooked jasmine rice, garnished with chopped green onions and lime wedges.
- Step 9: For the rice, heat a small pot over medium and add a splash of olive oil. Sauté the additional diced onion for 3-5 minutes until lightly caramelized.
- Step 10: Add the jasmine rice to the pot and stir to coat the rice in the flavored oil.
- Step 11: Pour in the vegetable stock, add the finely chopped garlic and 1/2 teaspoon salt. Bring to a boil, then reduce heat to low, cover, and simmer for about 20 minutes until the liquid is absorbed.
- Step 12: Fluff the rice with a fork before serving alongside the moqueca.
Tips & Variations
- Use firm white fish like halibut or haddock as alternatives to cod.
- Adjust the spice level by removing jalapeño seeds or increasing cayenne to your preference.
- For a richer flavor, cook the fish stew on low heat to avoid overcooking the fish.
- Add fresh cilantro or parsley as garnish for extra brightness.
- Vegetarian option: Replace fish with firm tofu and use vegetable stock.
Storage
Store leftover moqueca in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove over low heat to prevent the fish from becoming tough. Leftover jasmine rice can be refrigerated for up to 4 days and reheated with a splash of water to maintain moisture.
How to Serve

Serve this delicious recipe with your favorite sides.
FAQs
Can I use frozen fish for moqueca?
Yes, but thaw it completely and pat dry before cooking to avoid excess liquid that can dilute the stew.
Is coconut milk necessary in this recipe?
Coconut milk adds creaminess and authentic flavor, but you can substitute with heavy cream or omit it for a lighter stew, though the taste will differ.
PrintMoqueca (Brazilian Fish Stew) Recipe
Moqueca is a traditional Brazilian fish stew bursting with vibrant flavors from coconut milk, fresh vegetables, and aromatic spices. This hearty dish combines tender white fish simmered in a rich sauce of tomatoes, bell peppers, and jalapeño, finished with lime zest and served atop fragrant jasmine rice. Perfect for a comforting and exotic meal, this recipe showcases the rustic charm and bold taste of Brazilian coastal cuisine.
- Prep Time: 15 minutes
- Cook Time: 35 minutes
- Total Time: 50 minutes
- Yield: 4–6 servings 1x
- Category: Main Dish
- Method: Stovetop
- Cuisine: Brazilian
Ingredients
For the Moqueca (Brazilian Fish Stew)
- 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, seeds removed and sliced
- 1 yellow bell pepper, seeds removed and sliced
- 2 cloves garlic, finely chopped
- 1 teaspoon sweet paprika
- 1/4 teaspoon cayenne pepper (add more if preferred)
- 1 teaspoon kosher salt
- 1/2 teaspoon ground black pepper
- 2 pounds cod or other firm white fish, cut into large 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 (to taste)
- 1 tablespoon olive oil
Instructions
- Prepare the base: Heat a large pot over medium heat and add the coconut oil and olive oil. Once melted, add the diced yellow onion and jalapeño. Sauté for 2-3 minutes until softened.
- Add bell peppers: Add the sliced red and yellow bell peppers to the pot and continue sautéing for another 2-3 minutes until they begin to soften.
- Incorporate garlic and spices: Stir in the finely chopped garlic, sweet paprika, and cayenne pepper. Sauté for 1-2 minutes to soften the garlic and allow the spices to deepen in color and release their aroma.
- Add tomatoes: Add the chopped vine tomatoes along with their juices (or canned tomatoes) to the pot. Stir well and cook for 2-3 minutes, letting the tomatoes release their juices and soften.
- Season and add fish: Pat the fish pieces dry with paper towels, then season them with kosher salt and ground black pepper. Lay the fish gently on top of the vegetable mixture in the pot.
- Add liquids and lime zest: Pour the coconut milk and seafood stock over the fish and vegetables. Add the lime zest, then season the entire mixture with additional salt and pepper to taste. Carefully stir the liquid once or twice without breaking the fish pieces.
- Simmer the stew: Cover the pot with a lid, leaving a small opening for steam to escape, and bring to a gentle simmer. Cook for 10-15 minutes until the fish is just cooked through and the stew has thickened slightly.
- Finish and garnish: Remove the stew from heat and adjust seasoning if needed. Garnish with chopped green onions and serve with lime wedges on the side.
- Prepare the rice – sauté aromatics: In a small pot over medium heat, add olive oil and heat until hot. Add the diced yellow onion and sauté for 3-5 minutes until lightly caramelized.
- Add rice: Stir in the washed jasmine rice, sautéing for 1-2 minutes until each grain is coated with the flavored oil.
- Add stock and cook rice: Pour in the vegetable stock and season with kosher salt and black pepper. Bring to a boil, then lower the heat to a simmer. Cover the pot with a lid and cook for about 20 minutes, or until the liquid is fully absorbed.
- Fluff and serve: Once the rice is cooked, fluff it gently with a fork. Serve the moqueca over the jasmine rice, garnished with green onions and lime wedges.
Notes
- Use firm white fish such as cod, halibut, or snapper for the best texture that holds up during simmering.
- If you prefer a spicier stew, keep the jalapeño seeds or add extra cayenne pepper.
- Seafood stock adds greater depth of flavor, but vegetable stock works well for a milder taste or vegetarian version (without fish).
- Be gentle when stirring after adding the fish to avoid breaking it apart.
- Serve with fresh lime wedges for an added zesty brightness.
- Leftover moqueca can be refrigerated for up to 2 days; reheat gently on low to prevent overcooking the fish.
- For a dairy-free meal, this recipe uses coconut milk instead of cream.
Keywords: Moqueca, Brazilian Fish Stew, Coconut Milk Fish Stew, Brazilian Cuisine, Jasmine Rice, Seafood Stew

