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
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 ingredient | What to buy in the US or UK | What changes |
|---|---|---|
| Plátano hartón verde | Green plantain, the hardest you can find | Nothing; yellow ones turn sweet and soft |
| Yuca | Cassava, fresh or frozen (frozen goes in without thawing) | Nothing; remove the woody core |
| Ñame espino or diamante | White yam, sold as ñame or name in Latin and Caribbean shops | If missing, malanga or a floury potato; the broth thickens the same, tastes milder |
| Not ñame | The orange “yam” in US supermarkets is a sweet potato | Too sweet, dissolves; skip it |
| Cebolla larga | Scallions or spring onions | Nothing noticeable |
| Ají dulce | Mini sweet peppers or more red bell pepper | Less perfume, no heat either way |
| Color or achiote | Ground annatto, or ½ tsp sweet paprika | Color only, almost no flavor |
| Leche de coco | Full-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
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
| Servings | Fish steaks | Peeled roots | Water | Coconut milk | Pot |
|---|---|---|---|---|---|
| 6 | 1.2 kg (2⅔ lb) | 1.3 kg (2⅞ lb) | 2 L (8½ cups) | 1 can | 6-8 L (6-8 qt) |
| 12 | 2.4 kg (5¼ lb) | 2.6 kg (5¾ lb) | 4 L (4¼ qt) | 2 cans | 12 L (about 13 qt), or two pots |
| 20 | 4 kg (8¾ lb) | 4.3 kg (9½ lb) | 6.7 L (7 qt) | 3½ cans | two 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 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
- 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.