- Prep
- 20 min
- Cook
- 45 min
- Total
- 65 min
- Serves
- 4
Ingredients
What you’ll need — tap to tick off as you go
- 700 g
- 60 g
- 60 ml
- 250 ml
- 3 tbsp
- 1 tbsp
- 4 cloves
- 15 g
- ½ tsp
- 1 tbsp
Process
Timers built in · swap anything · ask as you cook
Pat the catfish fillets completely dry with paper towels and cut into 6 cm chunks. Season lightly with a pinch of the black pepper and set aside.
Make the caramel: put the granulated sugar and water in a small heavy saucepan over medium heat. Swirl gently without stirring until the sugar dissolves, then let it cook undisturbed for 4 to 6 minutes until it turns a deep amber color. Pull it off the heat immediately so it does not burn.
Carefully pour the coconut water into the caramel. It will bubble up. Return the pan to medium heat and stir until the caramel dissolves completely into the coconut water, about 2 minutes. Stir in the fish sauce and dark soy sauce, then remove from heat.
Heat the neutral oil in a wide heavy pot or clay pot over medium-high heat. Add the shallots, garlic and ginger and stir for 1 minute until fragrant but not browned.
Lay the catfish chunks in the pot in a single layer. Sear for 2 minutes per side until the edges turn opaque. Do not move the fish too much or it will break apart.
Pour the caramel coconut sauce over the fish. It should come about halfway up the fish; if not, add a splash more coconut water. Bring to a gentle simmer, then reduce heat to low.
Simmer uncovered for 25 to 30 minutes. Every 8 minutes, spoon the sauce over the fish instead of stirring. The sauce is ready when it coats the back of a spoon and the fish is fork-tender but still holds its shape.
Taste the sauce and adjust with a little more fish sauce if it needs salt. Scatter the sliced scallions and red chili over the top if using. Serve hot with steamed rice.

Kitchen notes
Kitchen notes
- The most common mistake is burning the caramel. Once the sugar turns amber, take it off the heat instantly; it keeps darkening in the hot pan and bitter caramel will ruin the whole dish.
- Do not stir the fish while it simmers. Spoon the sauce over the top instead. Catfish is delicate and stirring will shred it into the sauce.
- The dish is done when the sauce is thick enough to coat a spoon and the fish flakes with gentle pressure from a fork. If the sauce is still thin, simmer 5 more minutes uncovered.
- Use a pot just wide enough to hold the fish in one layer. Too large a pot means the sauce spreads thin and reduces too fast.
Substitutions
- catfish fillets→salmon or tilapia fillets
- coconut water→water plus 1 tsp sugar
- dark soy sauce→regular soy sauce plus a pinch of sugar
- shallots→half a small red onion
Storage & reheating
Cool completely, then store in an airtight container in the fridge for up to 3 days. The flavor deepens overnight. Reheat gently in a covered saucepan over low heat with 1 tbsp water to loosen the sauce, or microwave covered in 30-second bursts until hot. Do not boil hard or the fish will break apart. Freezing is not recommended because the texture of the fish suffers.
FAQ
The questions we get asked most
Why did my caramel turn bitter?
The sugar went past amber to dark brown or black. Sugar keeps cooking in the hot pan even after you remove it from the heat. Pull the pan off the burner the moment it reaches a deep amber color, and have the coconut water ready to pour in immediately to stop the cooking.
Can I use frozen catfish for this recipe?
Yes, but thaw it overnight in the fridge and drain it well. Pat the fillets very dry before searing, because excess water will steam the fish instead of letting it firm up, and the sauce will turn watery.
My sauce never thickened. What went wrong?
You probably covered the pot or used too much liquid. This dish must simmer uncovered so the coconut water and caramel reduce. Keep the heat low and let it bubble gently for the full 25 to 30 minutes; it thickens as it reduces.
Can I make ca kho to ahead of time?
Yes. It tastes even better the next day. Cook it fully, cool it fast, and refrigerate for up to 3 days. Reheat gently on the stovetop over low heat with a splash of water so the sauce does not scorch.
What fish works best if I cannot find catfish?
Any firm, thick white fish works, such as tilapia, basa or cod. Salmon also works and gives a richer result. Avoid thin delicate fish like sole, which will fall apart during the long simmer.
How do I know when the fish is done?
The fish should be fork-tender and flake easily when pressed, but still hold its chunk shape. The sauce should be glossy and thick enough to coat the back of a spoon. If the fish flakes into shreds, it is overcooked.
Is this dish very salty?
It is savory, but the caramel and coconut water balance the fish sauce. If you are sensitive to salt, start with 2 tbsp fish sauce, taste after 20 minutes of simmering, and add the last tablespoon only if needed.
Ask KitchenMind about this recipe
Tell it what’s different tonight — it works within the actual recipe.


