From Palembang in South Sumatra, these iconic fish cakes are made from a tender fish-and-tapioca dough wrapped around a whole egg, then gently boiled before being fried to a golden crisp. They are traditionally served with cuko, a punchy dipping sauce of palm sugar, vinegar, chilies, and shrimp paste that hits every note—sweet, sour, salty, and hot. The contrast of a crackly crust, bouncy cake, and jammy yolk makes this one of Indonesia's most beloved street foods.
Prep Time30 mins
Cook Time25 mins
Total Time55 mins
Servings4
Yield4 servings (4 large cakes)
Nutrition Facts
Per serving (estimated)
- 720 kcalCalories
- 38 gFat
- 6 gSaturated Fat
- 65 gCarbs
- 1 gFiber
- 28 gSugar
- 38 gProtein
- 760 mgSodium
- 580 mgPotassium
- 90 mgCalcium
- 3.5 mgIron
- 6 mgVitamin C
- 180 mcgVitamin A
Ingredients
For the fish cake dough
- 500 g mackerel or snapper fillets, skinned and boned
- 200 g tapioca starch (sago starch if available)
- 1 large egg
- 300 ml cold water
- 1 1/2 tsp fine sea salt
- 1/2 tsp ground white pepper
- 1 clove garlic, finely grated
For the filling
- 4 small raw eggs (duck eggs preferred)
For the cuko (spicy palm sugar sauce)
- 150 g palm sugar (gula merah), chopped
- 250 ml water
- 60 ml cane vinegar or rice vinegar
- 2 tbsp tamarind paste
- 1 tsp toasted shrimp paste (terasi)
- 5 cloves garlic, smashed
- 8-10 Thai bird's eye chilies, bruised
- 1/2 tsp salt
For frying
- Vegetable oil, for shallow frying (about 5 cm deep)
Directions
- Process the fish fillets in a food processor until a smooth, sticky paste forms, scraping down the sides once. Transfer to a large mixing bowl.
- Add the tapioca starch, egg, salt, white pepper, and grated garlic to the fish paste. Slowly drizzle in the cold water while kneading with your hand or a sturdy spoon until the dough comes together and feels smooth but soft; it should hold its shape without cracking.
- Divide the dough into 4 equal portions. Working one at a time, flatten a portion into a thick patty, press a deep hollow into the center with your thumb, and carefully slide in a raw egg. Mold the dough around the egg and pinch to seal completely, then shape into a smooth oval resembling a submarine. Repeat with the remaining portions.
- Bring a wide pot of water to a gentle boil. Lower the fish cakes into the water and cook for 12-15 minutes, or until they float and feel firm and bouncy when pressed. Remove with a slotted spoon and let cool completely on a tray.
- Meanwhile, make the cuko sauce: combine the palm sugar, water, vinegar, and tamarind paste in a small saucepan. Bring to a gentle simmer, stirring until the palm sugar fully dissolves.
- In a mortar or small bowl, mash the toasted shrimp paste, garlic, and chilies into a coarse paste. Stir this into the saucepan along with the salt. Simmer for 10-12 minutes until the sauce thickens slightly and coats the back of a spoon. Strain into a bowl and set aside to cool.
- Heat about 5 cm of vegetable oil in a deep skillet or wok to 175 °C (350 °F). Pat the cooled fish cakes dry with paper towels.
- Fry the fish cakes, one or two at a time, for 2-3 minutes per side until deep golden and crisp on the surface. Drain on a wire rack.
- Slice each fish cake on a bias into thick rounds to reveal the cooked egg yolk inside. Arrange on a plate and serve hot with the cuko sauce for dipping, alongside cucumber slices and a bowl of steamed rice.
Cook’s Notes
- Keep the dough cold: very cold water helps the tapioca stay snappy and prevents the fish proteins from over-binding into a rubbery texture.
- The fish cake must be fully cooked in the boiling water before frying—if it still feels soft in the center, give it a few more minutes until truly bouncy.
- Don't skip the shrimp paste (terasi)—toast it dry in a small pan first, then mash; it is the umami backbone of the cuko sauce.
- If palm sugar is unavailable, substitute dark muscovado sugar; the flavor will be slightly less caramel-like but still delicious.
- For a milder cuko, halve the chilies and remove their seeds; for extra heat, bruise a couple more into the simmering sauce.










