If you are looking to shake up your weekly meal prep with something vibrant, deeply savory, and packed with lean protein, this healthy take on a classic Brazilian Moqueca Baiana is it. By layering fresh white fish between sweet bell peppers and simmering it in a rich blend of coconut milk and spices, you get a stew that tastes like a tropical vacation. It’s incredibly low-effort but packs a massive punch of flavor.
Start by prepping your cod fillets. Cut them into 5–6 substantial, even pieces. Toss them in a bowl with the fresh lime juice, lime zest, a pinch of salt, and one minced garlic clove. Set it aside to marinate while you prep the vegetables.
Heat one tablespoon of ghee (or your preferred cooking oil) in a large, wide skillet or pot over high heat. Stir in the cayenne pepper and the remaining three minced garlic cloves. Fry for about 30 seconds until the kitchen smells incredible and the garlic is lightly golden.
Turn the heat down slightly. Take half of your sliced onion rings, orange and yellow bell peppers, and green sweet peppers, and lay them down across the bottom of the pan to create a colorful vegetable bed.
Carefully lay your marinated cod pieces directly on top of that vegetable layer.
Cover the fish with the remaining half of the peppers and onions. Pour the 250ml of coconut milk, 250ml of fish broth, and 3 tablespoons of fresh lime juice evenly over everything.
Cover the pan with a lid and drop the heat to medium (around 6 out of 10). Let it cook undisturbed for 10–15 minutes. You’ll know it’s ready when the vegetables are tender and the cod flakes easily with a fork.
Remove the lid, gently spoon some of that luscious coconut-cayenne sauce over the top of the fish, and shower the whole dish with fresh chopped cilantro. Serve it hot over a bed of fluffy basmati rice.

High-Protein Moqueca Baiana (Brazilian Fish Stew)
Ingredients
The Fish & Marinade
- 600g cod fillet (Kabeljaufilet), cut into 5–6 pieces
- 1 lime, zested and juiced
- 1 garlic clove, minced
- Salt and pepper (to taste)
The Stew Base & Layers
- 1 tbsp ghee or neutral cooking oil
- 1 tbsp cayenne pepper
- 3 garlic cloves, minced
- 4 thin green sweet peppers, cut into rings
- 1 orange bell pepper, cut into rings
- 1 yellow bell pepper, cut into rings
- 1 large white onion, cut into rings
- 250ml coconut milk
- 250ml fish broth
- 3 tbsp fresh lime juice
The Garnish & Sides
- 1 bunch fresh cilantro, chopped
- Cooked basmati rice for serving
Instructions
- Marinate the cod pieces with lime juice, lime zest, salt, and 1 minced garlic clove. Set aside.
- Heat ghee in a wide skillet over high heat. Sauté the cayenne pepper and 3 minced garlic cloves until highly fragrant.
- Layer half of the sliced peppers and onions across the bottom of the pan to form a base.
- Place the marinated fish directly onto the vegetable layer, then top with the remaining peppers and onions.
- Pour the coconut milk, fish broth, and lime juice over the layers.
- Cover and simmer on medium heat (6/10) for 10–15 minutes until the fish is perfectly flaky.
- Garnish with fresh cilantro and serve immediately over hot basmati rice.
Notes
Tips for Success
- The Sweet Green Peppers: Using those thinner, mild green peppers (like Italian frying peppers or Cubanelles) adds a unique, authentic sweetness without the bitterness of a standard green bell pepper.
- Don’t Stir the Pot: Once you layer the fish and veggies, leave them alone! Stirring will break up the delicate cod pieces into mush. Just let the steam do the work.
- Spoon the Sauce: Don’t skip spooning the liquid over the fish right before serving; it recoats the cod in all those settled spices and healthy fats.
Why You’ll Love This Dish
Lean Protein Source: Cod is naturally incredibly low in fat and packed with clean protein, making this a dream for hitting your fitness goals.
The Layering Method: By sandwiching the fish between the vegetables, you steam the cod gently so it stays flawlessly juicy and never dries out.
Rich Yet Light: The combination of savory fish broth and creamy coconut milk creates a thick, luxurious sauce without feeling heavy or greasy.




