As I stood in my kitchen, the aroma of spices wafted through the air, transporting me straight to the vibrant shores of Brazil. This is where my love for the 30-Minute Savory Brazilian Fish Stew, or Moqueca, was born. With its creamy coconut milk base, tender chunks of fish, and colorful vegetables, it’s a sensational way to bring a taste of Bahia to your table. Not only is this dish quick to prepare, ready in just 30 minutes, but it’s also naturally pescatarian, gluten-free, and dairy-free, making it a perfect option for weeknight dinners or festive occasions. Whether you’re looking to impress guests or simply desire a comforting meal at home, this stew checks all the boxes. Curious about how to capture those flavors and make them yours? Let’s dive in!

Why is Brazilian Fish Stew so irresistible?
Vibrant Flavors: The delightful blend of coconut milk, fresh tomatoes, and spices creates a luscious sauce that’s bursting with flavor.
Quick to Prepare: With just 30 minutes of cooking time, you can achieve a gourmet meal perfect for busy nights.
Healthy & Wholesome: Naturally pescatarian, gluten-free, and dairy-free, this stew is a guilt-free indulgence that everyone can enjoy.
Versatile Options: Easily adapt it with swaps like shrimp for a twist or add greens for an extra nutrient boost.
Crowd-Pleaser: Whether for family dinners or entertaining guests, its stunning presentation and delicious taste are sure to impress! For more delicious weeknight dinners, check out my other recipes that balance speed and flavor effortlessly.
Ingredients for Brazilian Fish Stew
• Ready to dive into making this aromatic dish? Here’s what you’ll need!
For the Protein
- Firm White Fish – Use halibut, sea bass, or mahi-mahi for a delicate, flaky texture. Shrimp or scallops can also be delightful alternatives!
For the Vegetables
- Onion – Finely diced for a fragrant base; any onion type works beautifully.
- Red Bell Pepper – Diced to add sweetness and a pop of color.
- Carrots – Diced for added sweetness and texture.
- Jalapeño – Optional if you prefer a touch of heat; omit for a milder flavor.
- Fresh Tomatoes or Canned Crushed Tomatoes – These bring body and flavor to the stew.
For Seasoning
- Sea Salt – Recommended for enhancing the overall flavor; kosher salt works too.
- Garlic Cloves – Minced to introduce depth of flavor.
- Paprika – Adds a smoky note and vibrant color.
- Ground Cumin – Infuses the dish with earthiness.
- Tomato Paste – Provides richness and a beautiful hue.
For the Sauce
- Coconut Milk – The creamy base that makes this stew so comforting; choose full-fat or light version depending on your preference.
- Broth – Fish, chicken, or vegetable stock works well as the liquid base; low-sodium is great for a healthier option.
For the Garnish
- Chopped Fresh Cilantro – Adds a burst of freshness just before serving.
- Scallion – An optional addition for a touch of crunch and flavor.
- Lime Wedges – Serve on the side for a zesty finish that enhances the dish.
Now that you have all your ingredients for this delightful Brazilian Fish Stew, let’s get cooking!
Step‑by‑Step Instructions for 30-Minute Savory Brazilian Fish Stew (Moqueca)
Step 1: Prepare the Fish
Rinse your firm white fish thoroughly, then pat it dry with paper towels. Cut the fish into 2-inch pieces and place them in a bowl. Drizzle with fresh lime juice, sprinkle with sea salt, and season with pepper. Allow it to marinate for up to 20 minutes while you prepare the other ingredients, letting the acidity enhance the flavors.
Step 2: Sauté Aromatics
In a large sauté pan, heat 2 tablespoons of coconut oil over medium heat until shimmering. Add the finely diced onions and sauté for about 3 minutes, stirring occasionally, until they become translucent and fragrant. This forms a flavorful base for your Brazilian Fish Stew, setting the stage for the vibrant ingredients to follow.
Step 3: Add Vegetables
Next, stir in the diced red bell pepper and carrots, along with the optional jalapeño if you love a little heat. Continue to cook for another 3 minutes, stirring frequently, until the vegetables soften and the colors brighten. They’ll contribute sweetness and a beautiful crunch to your stew.
Step 4: Season Mixture
Sprinkle in the sea salt along with the minced garlic, tomato paste, paprika, and ground cumin. Stir the mixture for about 1 minute, allowing the spices to toast slightly and release their aromas. This step infuses the Brazilian Fish Stew with depth and a lovely blend of warmth and flavor.
Step 5: Make Stew Base
Pour in the broth (fish, chicken, or vegetable) and add the crushed tomatoes along with the coconut milk. Increase the heat to bring this flavorful mélange to a gentle boil. Once bubbling, reduce the heat to a low simmer and allow the stew base to cook for approximately 8 minutes, stirring occasionally, until it thickens slightly.
Step 6: Cook the Fish
Gently add the marinated fish pieces to the simmering stew, ensuring they’re submerged in the sauce. Cover the pan and let it simmer for 4-5 minutes. Keep an eye on it, as the fish should become opaque and flake easily when it’s perfectly cooked through, offering a tender bite in your Brazilian Fish Stew.
Step 7: Finish & Serve
Once the fish is cooked, stir in the chopped fresh cilantro and a splash of lime juice, adjusting the seasoning to taste. Allow the stew to carry on simmering for another minute. Serve your Brazilian Fish Stew over fluffy rice or alongside crusty bread, garnishing with additional cilantro and lime wedges for a zesty touch.

Variations & Substitutions for Brazilian Fish Stew
Feel free to make this Brazilian Fish Stew uniquely yours by exploring these exciting variations!
- Seafood Swap: Replace fish with shrimp or scallops; adjust the cooking time as necessary for perfectly tender seafood. With each bite, you’ll be greeted by a delightful flavor that complements the rich stew.
- Vegan Delight: Substitute firm tofu for the fish, allowing it to soak in the flavors of the coconut milk and spices. This twist keeps the dish creamy while offering a satisfying, plant-based alternative.
- Vegetable Boost: Add leafy greens like spinach or kale for extra nutrition and color. These vibrant greens meld beautifully into the stew, enhancing both texture and flavor.
- Coconut Milk Options: Opt for light coconut milk to create a lower-calorie version of the stew. The dish maintains its creamy essence, offering a guilt-free indulgence without sacrificing flavor.
- Herb Infusion: Include fresh herbs like basil or parsley for added freshness and a fragrant twist. Herbs can elevate the dish’s aroma, making each spoonful an aromatic adventure.
- Heat Level: Modify the spice by omitting the jalapeño for a milder flavor or adding red pepper flakes to heat things up. This way, you can customize the heat to suit your taste buds perfectly!
- Fruit Flavor: Incorporate diced mango or pineapple for a sweet contrast that balances the savory elements. The sweet and tangy notes add a refreshing twist that transports you to a tropical paradise.
- Grain Alternative: Serve over quinoa or millet for a nutty flavor and nutritional boost. These grains bring a delightful texture and complement the stew beautifully, making each serving heartier.
If you’re curious about more creative swaps and techniques, be sure to check out my ideas for weeknight dinners or my tips on how to utilize fresh herbs for a punch of flavor!
Make Ahead Options
This Savory Brazilian Fish Stew (Moqueca) is perfect for meal prep enthusiasts! You can chop the vegetables and marinate the fish up to 24 hours in advance. Simply store the marinated fish in the refrigerator and keep the prepped vegetables in an airtight container to maintain their freshness. When you’re ready to enjoy this dish, just sauté the aromatics, add the broth, crushed tomatoes, and coconut milk as per the recipe, then stir in the marinated fish. This step will ensure your delicious Brazilian Fish Stew is just as vibrant and flavorful, all while saving you precious time during busy weeknights!
Tips for the Best Brazilian Fish Stew
-
Fish Selection: Choose firm white fish like halibut or mahi-mahi for the best texture. Avoid fish that is too delicate, as it may break apart.
-
Proper Marination: Marinate the fish in lime juice, salt, and pepper for at least 20 minutes; this enhances flavor without overwhelming it.
-
Heat Control: Keep an eye on the simmering fish; overcooking can lead to a rubbery texture. Fish is done when it flakes easily with a fork.
-
Flavor Boost: Don’t skip the fresh cilantro and lime juice at the end; they brighten the stew and elevate the overall flavor of your Brazilian Fish Stew.
-
Storage Advice: Store leftovers in airtight containers for freshness and reheat gently to avoid toughening the fish; ideally, consume within 3 days.
-
Adaptable Ingredients: Feel free to swap in shrimp or scallops, or add leafy greens for extra nutrition; keep the essence of the dish while personalizing it!
What to Serve with Savory Brazilian Fish Stew (Moqueca)
Elevate your dining experience with these perfect pairings that enhance the delicious flavors of your Brazilian Fish Stew.
- Fluffy White Rice: The ideal base, providing a neutral canvas to soak up the rich, creamy sauce of the stew.
- Crusty Bread: Perfect for dipping into the coconut broth, each bite adds a satisfying crunch to this comforting meal.
- Traditional Farofa: This toasted cassava flour adds a delightful crunch and nutty flavor, creating a delightful textural contrast.
- Grilled Vegetables: Charred zucchini, bell peppers, and eggplant complement the stew’s freshness and add a vibrant mix of colors.
- Tomato & Avocado Salad: A refreshing salad with juicy tomatoes and creamy avocado provides a light contrast to the robustness of the stew.
- Coconut Rice: Enhance the tropical vibes by pairing the stew with coconut-infused rice, echoing the flavors of the dish.
- Mango Salsa: This sweet and tangy salsa adds brightness and a delightful fruity note, balancing the richness of the fish stew.
- Crisp Cucumber Relish: A cool and crunchy relished garnish that cuts through the stew’s creaminess enhances the layered flavors.
- Sparkling Water with Lime: Stay refreshed with a zesty drink that complements the stew while cleansing the palate between bites.
- Passion Fruit Sorbet: End the meal on a sweet note with a fruity sorbet that provides a perfect contrast to the stew’s flavorful depth.
Storage Tips for Brazilian Fish Stew
Fridge: Store leftovers in an airtight container for up to 3 days to maintain freshness.
Freezer: Freeze the Brazilian fish stew for up to 2 months. Let it cool completely before placing it in a freezer-safe container.
Reheating: Reheat gently on the stovetop over low heat, stirring occasionally. This helps preserve the delicate texture of the fish and prevents it from toughening.

30-Minute Savory Brazilian Fish Stew (Moqueca) Recipe FAQs
How do I choose the right fish for the stew?
Absolutely! For this Brazilian Fish Stew, it’s best to select firm white fish like halibut, sea bass, or mahi-mahi, as they hold their shape well during cooking. Look for fish that feels firm to the touch and has a fresh, ocean-like smell. Avoid fish with dark spots or any off-putting odors, as these can indicate spoilage.
What is the best way to store leftovers?
Definitely! Store any leftover Brazilian Fish Stew in an airtight container in the refrigerator for up to 3 days. To keep it fresh, let the stew cool completely before sealing. When ready to enjoy, reheat gently on the stovetop over low heat to prevent the fish from toughening.
Can I freeze Brazilian Fish Stew?
Yes, you can! To freeze your Brazilian Fish Stew, let it cool completely, then portion it into freezer-safe containers. It can be stored in the freezer for up to 2 months. When you’re ready to eat, thaw it in the refrigerator overnight and reheat gently on the stovetop for the best texture.
What should I do if my fish becomes tough while cooking?
Very good question! To prevent the fish from becoming tough, monitor the simmering time closely. Fish is usually perfectly cooked within 4-5 minutes; if it is overcooked, it can turn rubbery. If this happens, you can still rescue the dish by stirring in a bit more coconut milk to enrich the sauce and help retain moisture.
Can I adapt the recipe for dietary restrictions?
Absolutely! This Brazilian Fish Stew is naturally pescatarian, gluten-free, and dairy-free. For those with seafood allergies, I often suggest substituting firm tofu for fish, which absorbs all the delightful flavors. Additionally, you can omit the jalapeño for a milder version or add more veggies like kale or spinach for added nutrition and flavor.
What should I serve with Brazilian Fish Stew?
The more the merrier! This savory stew pairs beautifully with fluffy white rice or crusty bread for soaking up all that creamy goodness. You might also enjoy it alongside traditional farofa (toasted manioc flour) or grilled vegetables, which adds a wonderful contrast to the rich stew. Enjoy!

Deliciously Easy Brazilian Fish Stew for Busy Nights
Ingredients
Equipment
Method
- Rinse the firm white fish, pat dry, cut into 2-inch pieces, and marinate with lime juice, sea salt, and pepper for 20 minutes.
- Heat coconut oil in a pan over medium heat. Add onions and sauté for 3 minutes until translucent.
- Add red bell pepper, carrots, and optional jalapeño. Cook for 3 minutes, stirring frequently.
- Sprinkle sea salt, garlic, tomato paste, paprika, and cumin. Stir for 1 minute to toast spices.
- Pour in broth and add crushed tomatoes and coconut milk. Bring to a gentle boil, then simmer for 8 minutes.
- Add marinated fish pieces to the simmering stew. Cover and simmer for 4-5 minutes until cooked through.
- Stir in chopped cilantro and a splash of lime juice. Simmer for another minute and serve.
