If there is one dish that signals the arrival of the Easter weekend in South Africa, it is undoubtedly Cape Malay Pickled Fish. With its vibrant spices, tender texture, and that unmistakable sweet-and-sour tang, it is a recipe steeped in history and shared across generations.
Historically, this deeply flavourful dish was created as a brilliant way to preserve fresh fish in the Cape before the days of refrigeration. Today, it stands as a cherished cultural staple. Every family has their own closely guarded secret blend of spices, and to be completely honest, my own recipe is a bit of a living entity! I’ve adapted this version from several classics, and I fully expect to tweak and refine it a little more with every passing Easter. That is the true joy of cooking—recipes are meant to grow with you.
Whether you enjoy it with a slice of heavily buttered hot cross bun (don’t knock it until you’ve tried it!) or some freshly baked crusty bread, this pickled fish is an absolute must-make. Just remember, the secret ingredient is patience; it needs a few days in the fridge for those gorgeous flavours to truly meld!
Ingredients
For the Fish:
- 600g firm, white fish fillets (such as hake), cut into serving portions (if using frozen fish, ensure it is completely thawed and patted completely dry)
- 150g plain flour
- 2 tsp sweet paprika
- 1 large egg
- 500ml cooking oil (for shallow/deep frying)
- Salt and freshly ground black pepper, to taste
For the Pickling Liquid (The Onion Mix):
- 50ml cooking oil
- 2 large onions, finely sliced
- 4 garlic cloves, crushed
- 3cm piece of fresh ginger, thinly sliced
- 1 Tbsp whole coriander seeds
- 2 whole star anise
- 3 whole allspice berries
- 3 whole cloves
- 1 tsp whole black peppercorns
- 2 tsp fennel seeds
- 1 cinnamon stick
- 2 tsp cumin seeds
- 3–4 whole bay leaves or lemon leaves
- 2 tsp garam masala
- 2 tsp turmeric
- 2 tsp medium curry powder
- 1 tsp cayenne pepper
- 80g brown sugar
- 500ml apple cider vinegar
- 1 tsp salt
Method
1. Prepare the Pickling Liquid
- In a large, dry saucepan, gently toast the whole spices (coriander, star anise, allspice, cloves, peppercorns, fennel, cinnamon, and cumin) over medium heat. Fry them just until they change colour slightly and become beautifully fragrant. Keep a close eye on them—do not let them burn!
- Pour 50ml of cooking oil into the pan with the spices. Add the sliced onions, crushed garlic, ginger, and bay leaves. Gently fry for about 5 minutes, or until the onions just become translucent and tender.
- Stir in the ground spices (garam masala, turmeric, curry powder, and cayenne pepper). Mix well to coat the onions and cook for another 5 minutes to cook out the rawness of the spices.
- Add the brown sugar, apple cider vinegar, and salt. Stir well to combine, then turn the heat down. Cover the pan and let the mixture simmer gently for 30 minutes. Taste the liquid and adjust the salt if necessary—you are looking for a perfect balance of sweet, sour, and spicy.
2. Fry the Fish
- While the sauce simmers, prepare your fish. Pat the fillets completely dry with kitchen paper, place them in a bowl, and season generously with salt and freshly ground black pepper.
- In a shallow plate, mix the plain flour and sweet paprika. In a separate small bowl, whisk the egg.
- Heat the 500ml of cooking oil in a pan or pot. Chef’s tip: A slightly smaller, deeper pan gives you better oil depth for frying, just ensure it’s wide enough to easily manoeuvre the fish. Make sure the oil is hot, but not smoking.
- Working in batches, coat each piece of fish in the spiced flour mixture, dip it into the whisked egg, and gently lower it into the hot oil. Fry until perfectly golden brown and cooked through, turning the fish gently only once to avoid breaking the delicate flakes.
3. Bring It All Together
- Arrange the beautifully fried, golden fish pieces in a large, non-metallic dish (glass or ceramic works best). Ensure the fish sits in a single, even layer.
- Carefully pour the hot, aromatic onion and vinegar mixture directly over the fish, ensuring every piece is evenly covered and submerged in the liquid.
- Allow the dish to cool completely to room temperature. Once cooled, cover tightly with cling film.
- Place it in the fridge and practice your willpower! Let it pickle for at least 4 days before eating so the vibrant spices can work their magic.
Chef’s Tips & Variations
- The Fish: While hake is wonderfully accessible and yields great results, traditionalists often swear by geelbek (Cape Salmon), geelstert (yellowtail) or snoek. Any firm, fleshy white fish will hold up perfectly to the pickling process.
- The Wait: 4 days is the sweet spot, but if you absolutely cannot wait, give it at least 48 hours to allow the flavours to penetrate the fish.

