There’s a David Kramer song about waking up hungry in the middle of the night and eating droë wors and a bowl of pickled fish. “Gistraand toe ek ga’ slaap, toe kry ek ‘n hongerlus. Toe eet ek ‘n stukkie droë wors, en ‘n bord vol ingelegde vis” It’s funny because it’s true — pickled fish is the kind of thing you crave at odd hours, the kind of dish that sits in the fridge calling your name until you give in and have another plate.
We make it every year around Easter. It’s on the table at family gatherings, any time someone needs to feed a crowd with something that tastes rich and took effort. Kingklip or hake fried golden, then layered with spiced onions and left to soak in a sweet-sour vinegar marinade for two or three days. By the time you serve it, the fish has absorbed everything — the curry spices, the ginger, the garlic, the tang. Waiting is half the work.
Kingklip or Hake — Both Work
Traditionally, pickled fish is made with kingklip — firm, meaty, white fish that holds up well to frying and then sitting in vinegar for days. Kingklip has a clean flavour and doesn’t fall apart, which is what you want here. But it’s expensive, and hake does the job just as well. Deep-sea hake is firm enough to handle the marinade, and it’s a fraction of the price.
You can also use Cape salmon, yellowtail, or angelfish if you can get them fresh. The key is firmness — the fish needs to stay intact after frying and then spending days submerged in vinegar. Avoid anything too flaky or delicate, like sole or cod. They’ll disintegrate.
Build the Spice Base First
Pickled fish starts with onions, lots of them. Five large onions, sliced into thin rings, cooked down in Wilson’s Extra Virgin Olive Oil until they’re soft and translucent. This takes time — don’t rush it. The onions need to sweeten and soften before you add anything else.
Once the onions are ready, you add ginger, garlic, curry powder, turmeric, bay leaves, allspice, coriander seeds, and cumin. The kitchen smells incredible at this point — warm, aromatic, slightly sweet. Fry the spices gently for a few minutes until they’re fragrant, then add the vinegar and sugar. This is the pickling liquid, and it needs to simmer for twenty minutes to let the flavours blend and the sugar dissolve completely.
The Vinegar-Sugar Balance
Pickled fish is all about the balance between vinegar and sugar. A litre of white vinegar and 300 grams of sugar sounds like a lot, but it works. The vinegar cuts through the richness of the fried fish, and the sugar softens the acidity so the whole thing tastes rounded rather than sharp. If you’ve ever had pickled fish that was too sour or too sweet, it’s because this balance was off.
The spices — curry powder, turmeric, allspice, coriander, cumin — add warmth and depth. This isn’t a hot curry; it’s mild, aromatic, and slightly sweet. The bay leaves add a subtle herbal note, and the ginger and garlic bring sharpness that keeps everything from feeling too heavy.
Fry the Fish Until Golden
While the pickling liquid simmers, you prepare the fish. Season it with salt and pepper, dust it lightly with flour, and pat off any excess. The flour helps the fish develop a golden crust when you fry it, and it also helps the pickling liquid cling to the fish once it’s layered in the marinade.
Fry the fish in Wilson’s Extra Virgin Olive Oil over medium-high heat until it’s golden on both sides but still succulent inside. You’re not cooking it all the way through — it’ll continue to cook slightly as it sits in the hot pickling liquid. Three to four minutes per side is usually enough, depending on the thickness of the fillets.
Layer Fish and Sauce While Hot
The layering is important. You place a layer of fried fish in a deep glass or ceramic container, then pour hot pickling liquid over it to cover completely. Then another layer of fish, more sauce, and so on until everything is submerged. The sauce needs to be hot when you pour it over the fish — this helps the flavours penetrate and ensures the fish is fully covered.
Don’t use a metal container. The vinegar will react with the metal and affect the flavour. Glass, ceramic, or food-grade plastic only. And make sure the fish is completely covered by the liquid — any exposed bits will dry out in the fridge.
Wait Two to Three Days
This is the hardest part — waiting. Let the pickled fish cool to room temperature, then cover it and put it in the fridge for two to three days before you eat it. The first day, the fish tastes good but not quite there yet. By day two, the flavours have started to meld. By day three, it’s perfect — the fish has absorbed the spices, the vinegar has mellowed, and the onions have softened into the sauce.
You can eat it after one day if you’re impatient, but it won’t taste the same. Pickled fish rewards patience. It’s one of those dishes where time does as much work as the cook.
Serve Cold or at Room Temperature
Pickled fish is served cold or at room temperature, never hot. Take it out of the fridge twenty minutes before serving so it’s not ice-cold, and serve it with fresh bread for mopping up the sauce. Some people like it with rice or roast potatoes, others prefer a simple green salad on the side. It’s rich enough that you don’t need much else.
Leftovers keep well in the fridge for up to a week, covered in an airtight container. The flavours continue to develop, and honestly, it’s often better on day five than day three. Just make sure the fish stays submerged in the liquid.
Full recipe below: Cape Malay pickled fish with kingklip or hake, spiced vinegar marinade, and onions. Prep time: 30 minutes. Cook time: 30 minutes. Marinating time: 2-3 days. Serves 8-10.

Cape Malay Pickled Fish
Ingredients
- 2 tablespoons Wilson's Extra Virgin Olive Oil
- 5 large onions cut into thin rings
- 1 x 3cm piece fresh ginger grated
- 4 cloves garlic crushed
- 5 teaspoons mild curry powder
- 2 teaspoons turmeric
- 6 bay leaves
- 1 teaspoon whole allspice or allspice powder
- 1 teaspoon coriander seeds
- 1 teaspoon whole cumin or cumin powder
- 1 litre white vinegar
- 300 g sugar
- 2 kg kingklip butterflied or deep-sea hake fillets, cut into portions
- Sea salt and freshly ground black pepper
- Flour for dusting
- 1 tablespoon Wilson's Extra Virgin Olive Oil for frying
Method
- Make the Pickle Sauce: In a stainless-steel saucepan over medium heat, add 2 tablespoons Wilson's Extra Virgin Olive Oil. When hot, gently sauté the onion rings until translucent (about 8-10 minutes).
- Add Aromatics and Spices: Add the grated ginger, crushed garlic, curry powder, turmeric, bay leaves, allspice, coriander seeds, and cumin to the pan. Fry gently for 2-3 minutes until fragrant, stirring frequently to prevent burning.
- Create the Pickling Liquid: Add the white vinegar and sugar to the pan. Stir until the sugar has completely dissolved. Bring to a simmer and cook for 20 minutes, stirring occasionally.
- Prepare the Fish: While the sauce is simmering, season the fish portions with sea salt and freshly ground black pepper. Dust lightly with flour and pat off any excess.
- Fry the Fish: Heat 1 tablespoon Wilson's Extra Virgin Olive Oil in a heavy-based frying pan over medium-high heat. When hot, fry the fish portions until golden on both sides but still succulent inside (about 3-4 minutes per side depending on thickness). Work in batches if needed to avoid overcrowding the pan.
- Layer and Pickle: Place a layer of fried fish in a deep, sterile glass or non-metallic container. Pour enough of the hot pickle sauce over the fish to completely cover it. Continue layering fish and sauce until all the fish is covered with sauce.
- Cool and Marinate: Allow the pickled fish to cool to room temperature, then cover and refrigerate for 2-3 days before serving. This allows the fish to fully absorb the flavours.
- Serve: Serve cold or at room temperature with fresh bread, salad, or as part of a traditional Cape Malay spread.
Pickled fish isn’t quick, but it’s not complicated either. You spend an hour cooking, then you wait. And in return, you get something that tastes like tradition, effort, and care — the kind of dish people remember long after the table’s been cleared.
Get the oil you need: Wilson’s Extra Virgin Olive Oil is available online and in select retailers across South Africa.
