I'm not sure where I first heard about Moqueca aka Brazilian Fish Stew, but I'm definitely glad I decided to give it a try.
This creamy, coconut milk-based cod and plantain stew is paleo, dairy free, keto, and Whole30. But my favorite part is the full spectrum of flavors and colorful veggies!
What is moqueca?
Moqueca is a Brazilian recipe containing salt water fish, tomatoes, onions, garlic, and coriander. Traditionally, you'd cook moqueca in a terra cotta pot. (But spoilers, I don't have one. I used a dutch oven).
Nowadays, true moqueca can be made two different ways: moqueca baiana and moqueca capixaba. While my version of paleo Brazilian fish stew can't be called traditional, I'd say it's closer to moqueca capixaba.
In addition to the staples of fish, tomatoes, onions, and garlic, I've added plantains. Because duh, I love plantains.
And damn, is this Brazilian fish stew good! Plantains and cod make such a good combo. Veggies like bell pepper, cilantro, and tomato add wonderful color and flavor.

How to ensure fast and easy cooking
This one's simple and fun, as long as you're game for a little prep work. The bulk of the recipe is in the prep, so my best advice is to get comfortable with mise en place.
Not familiar with that term? "Mise en place" is a French culinary phrase meaning "everything in its place." Essentially, it means reading through a recipe and prepping all the ingredients before actually beginning step 1 of the instructions.
Frankly, mise en place is the unspoken step 1 of any recipe. I guarantee it makes cooking much less stressful and a helluva lot faster!
For recipes like this paleo Brazilian fish stew, it's especially helpful because the actual cooking portion involves gradually adding ingredients to the same pot. If everything's already cut up, measured, ready to go, making the stew becomes stupid easy.

How to make Brazilian fish stew
Just like so many other soups and stews before, making this paleo Brazilian fish stew recipe couldn't be easier!
First, assemble your ingredients and prep them (mise en place — see above!). Next, you'll start marinating the cod in some finely minced ginger and lime juice. Then, you'll saute the veggies in the soup pot until they're tender. Finally add the fish, broth, and coconut milk, finishing with a simmer to stew perfection.
And that's really the meat and potatoes of it. This recipe is truly uncomplicated!
More paleo soup recipes
- Creamy Chicken & Mushroom Soup
- Butternut Squash Apple Soup with Toasted Pecans
- Loaded Potato & Cauliflower Soup
- Creamy Garlic & Mushroom Soup
📖 Recipe

Whole30 Brazilian Fish Stew (Moqueca)
- Prep Time: 20 minutes
- Cook Time: 25 minutes
- Total Time: 45 minutes
- Yield: 4 servings 1x
- Category: Stew
- Method: Stovetop
- Cuisine: Brazilian
Description
Simple, spicy, and swimming with veggies, this Whole30 Brazilian Fish Stew makes a quick and comforting weeknight meal.
Ingredients
- 1 ½ to 2 lbs cod, cut into 2-inch pieces
- 2 tablespoons lime juice
- 1 inch ginger, minced (2 tablespoons)
- 2 tablespoons extra virgin olive oil
- 3 cloves garlic, minced (1 ½ tablespoons)
- 2 teaspoons crushed red pepper (omit for less heat)
- 1 medium yellow onion, chopped
- ½ yellow bell pepper, sliced very thinly
- ½ red bell pepper, sliced very thinly
- 2 cups chopped tomatoes
- 2 yellow plantains, peeled and sliced diagonally
- 1 teaspoon paprika
- 1 14 ounce can coconut milk
- ½ cup bone broth or stock
- ½ cup chopped fresh cilantro, plus more for garnish
Instructions
- Add cod pieces, lime juice, and ginger to a shallow bowl, gently mixing to coat the cod and distribute the ginger. Set aside and let marinate while you start the rest of the stew.
- Heat olive oil in a dutch oven or pot over medium heat. Add garlic, crushed red pepper, onion, and bell pepper strips, sauteing for 5-8 minutes or until veggies have softened and garlic is fragrant. Add the chopped tomatoes and plantains and stir, cooking an additional 2 minutes.
- Transfer cod from the marinade to the dutch oven, nestling the cod pieces in the veggies. Sprinkle with salt and pepper. Discard the marinade. Stir the paprika, broth, and coconut milk into the dutch oven. Reduce heat to a simmer, cover, and cook for 10 minutes, until the fish flakes easily with a fork. Stir in cilantro and serve immediately.
Keywords: Brazilian Fish Stew
