A vibrant Brazilian fish stew simmered in a silky coconut-tomato broth with onions, peppers, lime, and a hint of dendê oil. Tender chunks of firm white fish (plus optional shrimp) gently poach until flaky and sweet, then get finished with fresh cilantro and green onions. Cozy enough for easy weeknight dinners yet special enough for guests—naturally gluten-free and simple to customize.
1.5–2lbfirm white fish fillets (cod, snapper, mahi-mahi, sea bass, or halibut), cut in 2-inch pieces, patted dry
1lblarge shrimp, peeled and deveined (optional)
2medium yellow onions, thinly sliced
2bell peppers (mixed colors), sliced into thin strips
2lbripe tomatoes, diced (or two 14.5-oz cans diced tomatoes with juices)
4clovesgarlic, minced
1inchfresh ginger, grated (optional but recommended)
1–2fresh chili peppers (malagueta, serrano, or jalapeño), finely chopped, seeds to taste
2tablespoonsolive oil
2cans (13.5 oz)full-fat coconut milk, shaken
2limes, juiced, plus extra wedges for serving
1/4cupdendê (red palm) oil (optional, for authentic flavor and color)
1bunchfresh cilantro, chopped (stems and leaves), divided
3–4green onions (scallions), thinly sliced, for garnish
fine sea salt and freshly ground black pepper, to taste
Instructions
Prep all produce: thinly slice onions and peppers; dice tomatoes (if using fresh); mince garlic; grate ginger; finely chop chili. Cut fish into 2-inch pieces and pat very dry. Lightly season fish (and shrimp, if using) with salt and pepper.
Heat olive oil in a wide Dutch oven over medium heat until shimmering. Add onions with a pinch of salt and cook 5–7 minutes, stirring, until soft and translucent.
Stir in garlic, ginger (if using), and chili. Cook 30–60 seconds until fragrant, avoiding browning.
Add bell peppers and cook about 5 minutes to soften slightly. Stir in tomatoes, season with salt and pepper, and simmer 5–7 minutes until the mixture becomes saucy.
Spread the vegetable base into an even layer. Gently nestle fish pieces on top; if using shrimp, scatter them over the fish. Do not stir.
Pour in coconut milk around and over the seafood. If using dendê oil, drizzle it over the surface. Bring just to a gentle simmer over medium-low heat (tiny bubbles only).
Cover and simmer gently 15–20 minutes, until fish is opaque and flakes easily and shrimp are pink and just firm. Avoid vigorous boiling to prevent the coconut milk from splitting and the fish from breaking.
Remove from heat. Stir in fresh lime juice and half of the chopped cilantro. Taste and adjust seasoning with additional salt, pepper, or lime.
Ladle into warm bowls and garnish with remaining cilantro and green onions. Serve immediately with lime wedges. Suggested sides: steamed white rice, brown rice, or garlicky sautéed greens.