New video every week on YouTube →
Fish Sancocho, Colombian Coconut Fish Soup with Plantain

Fish Sancocho, Colombian Coconut Fish Soup with Plantain

The broth comes out ivory and lightly thickened by yam that half melts, and the fish lifts off the bone in flakes. Chop the sofrito and peel the roots the day before; season the fish on the day. Leftovers keep 3 to 4 days in the fridge. Catfish or king mackerel steaks stand in for Colombian bagre and sierra, and the produce runs about $6.80 at US grocery prices.

Buy fish steaks 1¼ inches (3 cm) thick with the bone running through the middle, and most of the work in this soup is already done. Sancocho (sahn-KOH-cho) is Colombia’s big-pot soup of meat or fish with starchy roots, and on both of the country’s coasts the fish version is made with green plantain, cassava and yam. On the Caribbean side it is often finished with coconut milk, which is how this recipe makes it. The steaks go in last, for 12 minutes, into a broth that is already finished and no longer boiling.

What fish sancocho is, and how it is made

How do you make Colombian fish sancocho? Soften onion, scallions, bell pepper, garlic and tomato in oil, add 2 liters (8½ cups) of water and green plantain, then cassava and yam for 25 minutes, until the cassava splits. Stir in a can of coconut milk over medium-low heat, then lay in seasoned bone-in fish steaks, covered and below a boil, for 12 minutes, until they reach 145°F (63°C). 90 minutes for 6 servings.

On the Caribbean coast, the classic sancochos are made with bocachico or sábalo, two Colombian river fish, and coconut milk. The Pacific coast version uses yam and plantain and comes with coconut rice and cold limeade. A bowl is a whole meal: one fish steak, a piece of each root and a lot of broth.

It sits in a family. The Colombian sancocho with stewing hen and the three-meat sancocho start with the meat and add the roots later. Fish sancocho runs the other way round, because the fish is the most delicate thing in the pot.

Fish sancocho or viudo de pescado

They are close cousins and share almost everything: bone-in fish, green plantain, cassava, and the fish going in last. In the viudo de pescado, the Magdalena river fish stew on this site, the fish steams for 13 minutes on top of the roots in a covered pot, then gets plated with hogao, a tomato and onion sauce, while the broth goes on the table in a cup. Sancocho is served as soup, everything in one deep bowl, with the sofrito already dissolved in the broth. Plenty of Colombian families use the two names loosely; the serving is what really differs.

Is it worth making, and who it suits

Yes, if you want one pot that feeds 6 for the price of a little more than 1 kg of fish. It is a weekend lunch dish: 90 minutes on the clock, about 35 hands-on, and the hands-on part is mostly peeling roots.

  • It suits a Sunday lunch, a Lent Friday, or a crowd of 12 to 20 when meat would be expensive. The sofrito and the peeled roots keep overnight.
  • It may not suit anyone who hates fish bones, since steaks have a central bone and some species have fine pin bones. Or anyone watching saturated fat: the coconut milk supplies most of it (the plain version is below).
  • Difficulty: medium. No hard technique, three rules: the order the ingredients go in, no hard boil once the coconut milk is in, and no spoon on the fish.

Shopping list and US and UK swaps

Quantities are in the recipe card: 1.2 kg (2⅔ lb) of fish for 6, about 200 g (7 oz) of steak per bowl, 1.3 kg (2⅞ lb) of peeled roots and one 13.5 fl oz (400 ml) can of coconut milk.

The fish

Which fish to buy for fish sancocho in the US and UKFish options for Colombian fish sancocho outside Colombia. King mackerel or Spanish mackerel steaks: firm and rich, the closest to Colombian sierra; ask a fishmonger to cut steaks. Catfish steaks: the steadiest in the pot and almost boneless; at US fish counters. Red snapper steaks or a whole snapper cut into pieces: firm, mild; at fishmongers in the US and UK. Hake or cod steaks on the bone: flake into large pieces, add them 2 minutes later; common in the UK and Spain. Whole tilapia: soft, overcooks quickly; everywhere. Skinless thin fillets of tilapia or swai: fall apart into threads; avoid.In the potWhere to buyVerdictKing mackerel steaksfirm, richfishmonger,ask for steaksclosest to sierraCatfish steakssteadiest, few bonesUS fishcounterssafest choiceRed snapperfirm, mildfishmonger,US and UKgood, pricierHake or cod steakslarge flakesUK fishmongersadd 2 min laterWhole tilapiasoft, overcookseverywherewatch the clockThin skinless filletfalls aparteverywhereavoid
Buy bone-in steaks about 1¼ in (3 cm) thick. King mackerel and catfish hold their shape through the 12 minutes in the pot; thin skinless fillets break into threads and cloud the broth.

In Colombia the usual choices are sierra, a mackerel of the genus Scomberomorus, river fish such as bocachico, or bagre, a large catfish sold in steaks. Outside Colombia, king mackerel and Spanish mackerel belong to the same genus as sierra, and catfish steaks are the easiest swap for bagre. Red snapper works and costs more. Hake or cod steaks on the bone, common in the UK, fall into large flakes; I add them 2 minutes later.

The cut matters as much as the species. A steak 1¼ in (3 cm) thick with its bone holds together for 12 minutes and gives flavor to the broth. A thin skinless fillet is cooked through almost as soon as it touches the broth, and comes apart into threads long before the soup is ready.

Frozen fish is fine. Thaw it overnight in the fridge. Pat it very dry before seasoning, because it weeps. When buying fresh, look for a mild smell with no ammonia, clear shiny eyes and flesh that springs back when pressed.

The roots and the aromatics

Colombian ingredientWhat to buy in the US or UKWhat changes
Plátano hartón verdeGreen plantain, the hardest you can findNothing; yellow ones turn sweet and soft
YucaCassava, fresh or frozen (frozen goes in without thawing)Nothing; remove the woody core
Ñame espino or diamanteWhite yam, sold as ñame or name in Latin and Caribbean shopsIf missing, malanga or a floury potato; the broth thickens the same, tastes milder
Not ñameThe orange “yam” in US supermarkets is a sweet potatoToo sweet, dissolves; skip it
Cebolla largaScallions or spring onionsNothing noticeable
Ají dulceMini sweet peppers or more red bell pepperLess perfume, no heat either way
Color or achioteGround annatto, or ½ tsp sweet paprikaColor only, almost no flavor
Leche de cocoFull-fat canned coconut milk, 13.5 fl oz (400 ml)Light or carton coconut drink leaves the broth thin

Coconut milk, canned or fresh. Full fat, never light. Canned coconut milk has about 21 g of fat per 100 g, and that fat is what gives the broth body. If you have a dry coconut and a blender, the two-extraction method is in the Colombian fish in coconut sauce.

Equipment. A 6 to 8 liter (6 to 8 quart) pot with a lid, wide enough to lay the steaks in without stacking. An instant-read thermometer is optional and settles the doneness question in two seconds.

Timeline, make-ahead and how to tell each stage is right

Fish sancocho timeline, 90 minutes from chopping board to bowlTimeline for Colombian fish sancocho with coconut milk, 6 servings. Minutes 0 to 20: peel the plantains, cassava and yam, chop the sofrito and season the fish steaks with salt and garlic. 20 to 32: cook the sofrito of onion, scallion, red pepper, sweet peppers, garlic, cumin, annatto and tomato. 32 to 45: add the water and the green plantain and bring to a boil. 45 to 70: cassava and yam simmer until the cassava splits. 70 to 73: stir in the coconut milk and let it return to a gentle simmer. 73 to 85: fish steaks cook covered, below a boil, without stirring. 85 to 90: cilantro goes in and the pot rests off the heat. About 35 minutes are hands-on.0153045607590minutesPeel, chop, season20 minSofrito12 minWater and plantain13 minCassava and yam25 minCoconut milk3 minFish, lid on12 minCilantro, rest5 minhands-onsimmering, hands offoff the heat
90 minutes on the clock, about 35 hands-on. The fish goes in at minute 73, once the cassava has split, and spends just 12 minutes in the pot.

Why this order. Each ingredient goes in when it needs the same time as everything else to finish. The plantain spends more than 50 minutes in the pot, the cassava and yam about 40, and the fish 12. Cooks give the roots anywhere from 25 to 30 minutes before the fish and the fish from 8 to 20; with 1¼ in (3 cm) steaks, 25 and 12 is where I land. The fish is seasoned only with salt and garlic, because it waits almost an hour: lime would turn the surface chalky and, in the pot, split the coconut milk.

Make ahead

  • The day before: the sofrito, cooled and covered in the fridge.
  • The day before: plantain, cassava and yam peeled and cut, covered with cold water in the fridge.
  • On the day: the fish. Raw fish should be cooked within 2 days of purchase, stored at 40°F (4°C) or below.

With those ready, the day itself is about 60 minutes of simmering and very little work.

Signs that each stage is right

  • Sofrito: onion and pepper soft and glossy after 6 minutes, not browned.
  • Plantain: after 13 minutes a knife goes in with effort. It still needs time.
  • Cassava: splits open in the center and a knife slides in after 25 minutes. If not, give it 5 more before the coconut milk.
  • Coconut broth: trembling, small bubbles at the edge only. Big bubbles in the middle mean turn it down now.
  • Fish: 145°F (63°C) in the thickest steak, or opaque to the bone and flaking with a fork.

Scaling it up

ServingsFish steaksPeeled rootsWaterCoconut milkPot
61.2 kg (2⅔ lb)1.3 kg (2⅞ lb)2 L (8½ cups)1 can6-8 L (6-8 qt)
122.4 kg (5¼ lb)2.6 kg (5¾ lb)4 L (4¼ qt)2 cans12 L (about 13 qt), or two pots
204 kg (8¾ lb)4.3 kg (9½ lb)6.7 L (7 qt)3½ canstwo 10-12 L (11-13 qt) pots

The bigger pot takes longer to come back to a boil, so count the cassava’s 25 minutes from the boil, not from when it goes in. The fish stays at 12 minutes in each pot as long as the steaks are not stacked.

Temperatures, food safety and the mistakes that break the fish

Cook fish to 145°F (63°C) inside; without a thermometer, the flesh should separate easily with a fork. Measure the thickest steak, away from the bone.

The temperatures that decide fish sancocho, in °FTemperature scale in degrees Fahrenheit with Celsius for fish sancocho. 40°F (4°C) or below: leftovers in the fridge for 3 to 4 days. 140°F (60°C) or above: hold the pot hot if guests are late. 145°F (63°C) in the thickest part of the steak: fish is done. 165°F (74°C): reheat leftovers. Above about 176°F (80°C) for a long time: coconut milk starts to separate. 212°F (100°C), a rolling boil: the fish breaks and the coconut milk splits.40°F (4°C)fridge, 3-4 days140°F (60°C)hold hot145°F (63°C)fish done165°F (74°C)reheat~176°F (80°C)coconut separates212°F (100°C)boil, fish breaks32°F68°F104°F140°F176°F212°F
Fish is done at 145°F (63°C), and the coconut broth should not sit long above about 176°F (80°C). Once the coconut milk is in, keep the lid on and the heat at medium-low, trembling, never bubbling hard.
  • The fish fell apart. It boiled hard, someone stirred it, or it was a thin fillet. Thick steaks, lid on, medium-low heat, and move the pot, not the fish.
  • Grainy white bits and oil on top. The coconut milk boiled hard or went in cold. Above about 176°F (80°C), held for a while, coconut milk separates; it is not spoiled. Turn the heat down and keep it there.
  • Thin broth. Too little yam or too little time. Press a few chunks of yam or plantain against the side of the pot and simmer uncovered 5 minutes before the fish goes in.
  • Hard cassava. It went in late or it was old. Give it 5 to 10 more minutes before the coconut milk; the fish can wait in the fridge.
  • Chalky, lime-flavored fish. It was marinated in lime. Here it gets salt and garlic only; lime is for the table.

Heat level: 0 out of 5. Ají dulce is a sweet pepper. Heat comes from the table, with a spoonful of Colombian ají picante.

Kids usually like the coconut broth and the plantain. Flake their fish in the bowl and check for bones.

Allergens. Fish. Coconut is not one of the 14 allergens that must be declared under UK and EU rules, but some people are allergic to it, so ask when cooking for others. No gluten, dairy or egg, as long as your annatto or seasoning has no flour added.

Which version to make

Coconut milk or plain broth, what changes in fish sancochoComparison per serving of the same fish sancocho made with one 13.5 oz (400 ml) can of coconut milk or with water only. Calories: 749 with coconut, 625 without. Fat: 29 g with coconut, 16 g without. Saturated fat: 16 g with coconut, 4 g without. Broth: ivory and slightly creamy with coconut, clear and golden without. Risk: the coconut version splits if it boils hard; the plain version does not. Usual side: coconut rice or white rice with coconut, white rice and avocado without. Values calculated from the recipe’s ingredient weights.With coconut milkWater onlyCalories749 kcal625 kcalFat29 g16 gSaturated fat16 g4 gBrothivory, creamyclear, goldenRisksplits if it boilsnoneServe withcoconut ricewhite rice, avocado
The can adds about 124 kcal and 12 g of saturated fat per bowl. Without it the soup is lighter and harder to ruin; with it, it tastes of the Caribbean coast.
  • Short on time: make the sofrito and peel the roots the night before; on the day it is about 60 minutes of simmering and 5 of work.
  • No pressure cooker needed. The roots soften in 25 to 50 minutes at a simmer, and the fish should never go under pressure.
  • For a party of 12 to 20: the scaling table, two pots, sofrito made the day before.
  • Lighter: skip the coconut milk and add 400 ml (1⅔ cups) more water. That takes a bowl from 749 to about 625 kcal and from 16 g to 4 g of saturated fat; half a can lands in between.
  • More taste of the sea: I simmer the fish head in the 2 liters of water for 15 minutes before the sofrito, strain it and use that as the broth. Add those 15 minutes to the clock.
  • With corn: 2 ears in 2 in (5 cm) pieces go in with the plantain.
  • Vegetarian: there is no traditional version. The coconut broth with roots and cooked chickpeas makes a good soup, just not a fish sancocho.

What it costs

In Colombia, with wholesale prices for the week of 12 to 18 September 2026 at the Bazurto market in Cartagena, the priced ingredients come to 36,881 Colombian pesos, about 6,147 per bowl. The fish is 67 % of that: 1.2 kg of sierra at the whole frozen sierra price, 20,667 pesos a kilo. A whole coconut is counted at 1 kg as a ceiling, since the market sells coconut by the kilo and canned coconut milk is not counted; oil, salt, cumin, annatto and lime are left out.

The fish decides the bill. With fresh mojarra lora at 11,000 pesos a kilo in Bazurto the pot drops to 25,281 pesos; with pargo rojo platero, red snapper, at 52,333 in Santa Marta it climbs to 74,881. Sierra itself ranged from 17,833 pesos a kilo in Buenaventura to 34,000 in Tuluá across the 14 markets that listed it.

In the US, supermarket ads for the week of 9 October 2026 put green plantains at an average of $0.88 per lb, and the plantain, onion, scallions, red bell pepper, tomatoes, garlic, cilantro and limes for this pot add up to about $6.80. Fish steaks, cassava, yam and canned coconut milk aren’t priced here, and they are most of the cost: check them at your store.

Serving, storing and reheating

What it tastes like. An ivory broth with some body, the sofrito underneath and a gentle sweetness from the coconut. The plantain stays firm and a little dry, the cassava soft, the yam half melted. The fish lifts off the bone in flakes.

How to serve it. One steak per deep bowl with a piece of each root and plenty of broth, lime to squeeze over. On the side, Colombian coconut rice or plain white rice and a few patacones. To drink, a Colombian coconut lemonade echoes the coconut in the bowl.

Fridge. Refrigerate within 2 hours, keep 3 to 4 days at 40°F (4°C) or below, in shallow containers so it cools fast. If guests are late, hold the pot covered above 140°F (60°C).

Freezer. Cooked fish keeps 4 to 6 months frozen. I freeze only the broth with the fish flaked off the bone: frozen plantain and cassava come back spongy, so I cook fresh roots when I reheat. Coconut broth can look separated after thawing and comes back together with gentle heat and a stir.

Reheating. Medium-low, covered, with ½ cup of water for every 2 cups of soup, because the yam keeps thickening in the fridge. Do not stir the steaks. Heat to 165°F (74°C) in the center, which is what leftovers need. High heat breaks the fish and splits the coconut milk.

Fish sancocho FAQ

What is the best fish for sancocho? A firm, bone-in fish cut into 1¼ in (3 cm) steaks. Catfish steaks hold best and are easy to find in the US; king mackerel is closest to Colombian sierra; red snapper works and costs more.

Can I use fish fillets? Thick ones work if you pull them a couple of minutes early, at about 10. Thin skinless fillets break into threads and cloud the broth.

Is sancocho the same as viudo de pescado? Nearly. Viudo is plated with hogao on top and the broth served separately in a cup; sancocho is served as one soup in a deep bowl, often with coconut milk on the coast.

Can I make it without coconut milk? Yes. Add 400 ml (1⅔ cups) more water. The broth turns clear and golden, and each bowl drops to about 625 kcal.

What is ñame, and can I use sweet potato? Ñame is a true yam, a starchy white root sold as ñame or white yam in Latin and Caribbean shops. US supermarket “yams” are sweet potatoes and make the soup sweet and mushy; use malanga or a floury potato instead.

Can I use frozen fish? Yes. Thaw it overnight in the fridge and pat it dry before seasoning.

Can I freeze fish sancocho? Freeze the broth with the flaked fish for up to 4 to 6 months; cook fresh plantain and cassava when you reheat.

How long does it keep? 3 to 4 days in the fridge at 40°F (4°C) or below, if it went in within 2 hours. Reheat covered to 165°F (74°C).

Nutrition per bowl

One sixth of the pot, with fish, roots and broth, no rice or sides, calculated ingredient by ingredient from the recipe’s weights, using Spanish mackerel for the fish and counting 1 kg (2.2 lb) of flesh in the 1.2 kg (2⅔ lb) of steaks:

  • Calories: 749 kcal
  • Protein: 39 g
  • Carbohydrates: 85 g
  • Fat: 29 g, of which 16 g saturated
  • Fiber: 8 g
  • Sugars: 7 g
  • Sodium: 910 mg

The coconut milk adds 124 kcal and 12 g of saturated fat per bowl. Mackerel is an oily fish: swap in catfish and each bowl loses roughly 34 kcal, landing at 715, and 7 g of protein. Most of the sodium, about 775 mg, comes from the salt in the pot.

The hardest habit to break with this soup was dropping the fish in with everything else, the way I do with a hen. The steaks wait in the fridge now, and the pot has stopped boiling before they go in. Josnaisis.

Fish Sancocho, Colombian Coconut Fish Soup with Plantain

Fish Sancocho, Colombian Coconut Fish Soup with Plantain

By Josnaisis Ramirez · Gran Receta

Rate
★ ★ ★ ★ ★
✓ Thanks!

Prep

20 min

Cook

1 h 10 min

Servings

6

people

Total

1 h 30 min

Difficulty

Medium

Cuisine

Colombian · Venezuelan

Calories

749 kcal

Ingredients

For 6 servings · Check off what you have

Instructions

1

Peel and cut the plantains, cassava and yam; keep the cassava and yam in cold water so they don't darken. Pat the fish steaks dry, rub them with ½ tsp salt and the 2 crushed garlic cloves, cover and refrigerate until minute 73. Chop the onion, scallions, bell pepper, sweet peppers, tomatoes and the remaining 3 garlic cloves.

2

Heat the oil in a 6 to 8 liter (6 to 8 quart) pot over medium heat. Soften the onion, scallions, bell pepper and sweet peppers for 6 minutes without browning. Add the garlic, cumin and annatto for 1 minute, then the tomatoes for 5 minutes, until they start to collapse.

3

Pour in the 2 liters (8½ cups) of water and add the plantain. Bring to a boil over high heat, about 8 minutes, then boil 5 minutes more over medium heat: the plantain takes longest and needs the head start.

4

Drain the cassava and yam and add them with 1½ tsp salt. Simmer 25 minutes over medium heat, lid ajar, until the cassava splits open in the center and a knife slides in. The yam softens at the edges and thickens the broth.

5

Lower the heat to medium-low and stir in the coconut milk. Wait about 3 minutes for the broth to tremble again, with small bubbles only at the edge. From here on it must not boil hard: the coconut milk splits and the fish breaks.

6

Lay the fish steaks over the vegetables, submerged in broth and not stacked, leaving any liquid behind. Cover and cook 12 minutes without stirring; swirl the pot if needed. The fish is done at 145°F (63°C) in the center of the thickest steak, or when the flesh is opaque to the bone and flakes with a fork.

7

Turn off the heat, scatter the cilantro, cover and rest 5 minutes. Taste for salt and serve one steak per deep bowl with plantain, cassava, yam and plenty of broth, with rice, lime and ají on the side.

Nutrition

Approximate values per serving · 6 servings total

749

kcal

39g

Protein

85g

Carbs

29g

Fat

8g

Fiber

16g

Sat. fat

910mg

Sodium

7g

Sugar

Tip: Treat the fish as the last guest: it waits, seasoned, in the fridge until the cassava has split, then cooks 12 minutes under a lid without a single stir. Bone-in steaks 1¼ in (3 cm) thick, never thin fillets. And the coconut milk goes in before the fish, so there is nothing left to stir once the fish is in.
#fish sancocho#colombian fish soup#sancocho de pescado#coconut fish soup#plantain and cassava soup
Josnaisis Ramirez
Josnaisis Ramirez · Cook & author

Mom of Dylan and home-cooking enthusiast. I share the Venezuelan and Colombian recipes that shaped my life. My story →

Link copied! Now you can share it