Cook the sweet potatoes in salted boiling water for about 20 minutes or until soft. Drain and mash with half of the milk. Season.
Cut the Snoek into pieces and cook in salted boiling water for about 10 minutes or until cooked. Drain, cool, then flake the fish, discarding the bones.
Heat the butter on medium-high and sauté the onion, ginger, garlic, cumin and curry. Add the tomatoes and cook for about 3 minutes or until starting to thicken. Mix through the Snoek, lemon juice, sweet potato and 1 of the eggs. Season. Spoon into a 3L baking dish.
Pre-heat oven to 180°C. Beat the remaining 2 eggs with the remaining 250ml milk and turmeric and pour over the fish mixture. Insert lemon or bay leaves. Bake for about 40 minutes or until the custard has set.
Serve with tomato and onion salsa.
Those who can handle gluten can add yellow rice, roosterkoek and chutney.