In Colombian coastal cooking, fish in coconut sauce is one of those dishes that brings together the flavor of fresh seafood, coconut milk, and homemade seasoning. It is especially appreciated along the Caribbean coast and also in Colombia’s Pacific kitchens, where coconut milk is commonly used to cook fish and seafood with aromatic vegetables.
The most representative version is made with firm white fish such as sea bass, red snapper, corvina, or catfish, gently cooked in a thick coconut milk sauce with tomato, onion, garlic, sweet pepper, bell pepper, and cilantro. The result is creamy, fragrant, and deeply traditional, perfect with coconut rice, white rice, fried green plantains, or boiled cassava.

Ingredients
- 800 g firm white fish fillets or steaks (4 medium portions)
- 400 ml thick coconut milk (1⅔ cups)
- 160 g chopped ripe tomato (2 medium tomatoes)
- 120 g chopped yellow onion (1 medium onion)
- 80 g chopped scallions (1 large stalk)
- 100 g chopped red bell pepper (½ large bell pepper)
- 30 g chopped sweet peppers (2 small peppers)
- 15 g crushed garlic (3 cloves)
- 30 ml vegetable oil (2 tablespoons)
- 30 ml lime juice (2 tablespoons)
- 10 g chopped fresh cilantro (¼ cup)
- 5 g ground cumin (1 teaspoon)
- 5 g ground annatto or achiote (1 teaspoon)
- 10 g salt (1¾ teaspoons)
- 2 g ground black pepper (½ teaspoon)
Preparation
- Season the fish, clean the fillets or steaks and rub them with the lime juice, half of the salt, the black pepper, and half of the garlic. Let them rest for 15 to 20 minutes so they absorb flavor without the lime changing the texture too much.
- Make the seasoning base, heat the oil in a wide skillet or shallow pot and sauté the yellow onion, scallions, red bell pepper, sweet peppers, and remaining garlic for 5 minutes. Add the tomato, cumin, and annatto, then cook for another 6 to 8 minutes, until the tomato breaks down and the mixture becomes juicy and fragrant.
- Build the coconut sauce, pour the coconut milk over the seasoning base, stir gently, and cook over medium-low heat for 8 to 10 minutes, until the sauce thickens slightly and takes on the color of the annatto and vegetables. Taste and adjust the salt before adding the fish.
- Cook the fish, place the fish pieces in the sauce, spoon some sauce over the top, and cover the skillet. Cook over low heat for 10 to 12 minutes, avoiding too much stirring, until the fish is firm, moist, and flakes easily with a fork.
- Finish the dish, add the chopped cilantro, turn off the heat, and let the fish rest for 3 minutes before serving. The sauce should be creamy, aromatic, and thick enough to coat the fish without drying out.
Chef’s Tips
Use fresh, firm white fish so it holds its shape while cooking.
Do not boil the coconut milk over high heat, because it can separate and lose its creamy texture.
Add the fish only after the sauce is flavorful and slightly thickened; this keeps the fish from overcooking.
If you use bone-in fish steaks, handle them gently and serve them whole for a more traditional presentation.
Traditional Variations
On Colombia’s Caribbean coast, this dish is commonly prepared with sea bass, red snapper, corvina, or catfish, depending on what is locally available.
Some home cooks use sweet peppers for aroma without much heat, while others add more red bell pepper for a brighter, deeper-colored sauce.
There are also versions where the fish is lightly floured and seared before being added to the sauce, although gently simmering it directly in coconut milk is one of the most traditional home-style methods.
Traditional Serving Style
Serve the fish hot, covered with plenty of coconut sauce and a little fresh cilantro. The most traditional sides are coconut rice or white rice, crispy fried green plantains, and a simple salad.
For drinks, it pairs well with fresh lemonade, corozo juice, lulo juice, or cold panela water with lime.
Recommended Side Dishes
- Coconut rice
- White rice
- Fried green plantains
- Boiled cassava
- Tomato and onion salad
- Avocado
- Lime wedges
Culinary Fun Fact
Coconut milk is one of the most important ingredients in many Colombian coastal kitchens. In fish and seafood dishes, it adds softness, aroma, and a creamy texture that blends beautifully with traditional seasonings.
In Colombia, this type of dish reflects the connection between local fishing, coconut-based cooking, and the everyday home cooking of communities near the sea and rivers.
Frequently Asked Questions
Sea bass, red snapper, corvina, catfish, or any firm white fish works well. The key is choosing fish with enough structure to hold together in the sauce. If your fish is very delicate, cook it for less time and avoid moving it too much.
The sauce should be creamy and slightly thick, not watery like a broth. To achieve that texture, cook the seasoning base with the coconut milk before adding the fish. This concentrates the flavor and helps the sauce coat each portion properly.
Yes, canned coconut milk works well as long as it is thick and unsweetened. Fresh coconut milk is highly valued in traditional cooking, but good-quality canned coconut milk is practical and gives a delicious result at home.
It is traditionally served with coconut rice, white rice, fried green plantains, boiled cassava, or a fresh salad. These sides balance the richness of the sauce and help you enjoy every bit of the coconut and seasoning.
