Method
Make the fish mixture
Pat 600 g of skinless haddock fillets dry with paper towels and check carefully for pin bones. Cut the fish into 3 cm (1 1/4 in) chunks. Add the fish and 6 g of fine sea salt for fish cakes to a food processor and pulse until tacky and mostly smooth, about 20 seconds. Chop 70 g of yellow onion very finely, then add it with 33 g of potato starch, 1 g of ground white pepper, and 1/2 g of ground nutmeg. With the machine running on low, pour in 240 ml of whole milk gradually and stop as soon as the mixture is smooth, thick, and able to hold a soft mound; do not process until warm. After handling raw fish, wash your hands and clean the board, blade, processor bowl, utensils, and work surface with hot soapy water before touching serving items.
00:20Start the potatoes
After the fish mixture is ready, scrub 800 g of small waxy potatoes and place them in a wide saucepan. Cover with cold water by 2.5 cm (1 in), add 2 g of fine sea salt for potatoes, and bring to a boil over high heat. Reduce to a steady simmer and start a 15-minute timer. While the potatoes simmer, proceed immediately to shape and fry the fish cakes in the next step. When the timer rings, check a potato with a thin knife; it should slip into the center with little resistance. If needed, simmer for up to 3 minutes more. Remove the pan from the heat as soon as the potatoes are tender so they do not overcook.
15:00Shape and brown the fish cakes

Heat a large skillet over medium heat. Divide 30 g of unsalted butter for frying among as many batches as needed to avoid crowding. Using two spoons dipped in water, divide the fish mixture into evenly sized oval cakes—about two cakes per serving and about 2 cm (3/4 in) thick. Slide one batch into the skillet. Start a 3-minute timer and cook for 3 to 4 minutes on the first side, until deep golden and the edges look opaque. Turn with a thin spatula, restart the 3-minute timer, and cook for 3 to 4 minutes more. Check the thickest cake with a food thermometer; the center must reach 63°C/145°F. Transfer the cooked cakes to a clean plate and repeat with the remaining mixture and butter. When the potato timer rings, pause between batches to check the potatoes and remove their pan from the heat as soon as they are tender. Do not return cooked cakes to any plate or utensil that held raw mixture.
03:00Finish the dill potatoes

Drain the tender potatoes thoroughly and return them to the hot saucepan over low heat for 1 minute, shaking gently so surface moisture evaporates. Remove the pan from the heat. Chop 15 g of fresh dill. Add 30 g of unsalted butter for potatoes and the chopped dill, then toss until the potatoes look glossy. Gently press a few potatoes with the back of a spoon so the butter and dill catch in the crevices.
01:00Plate and serve
Arrange the fish cakes beside the dill potatoes and spoon any dill-flecked butter from the saucepan over the potatoes. Serve immediately while the crust is crisp and the centers are hot.
Smart Substitutions
- No haddock? Use cod, pollock, or hake with a firm texture and mild flavor.
- No potato starch? Use the same weight of cornstarch; the cakes will be slightly less springy.
- No fresh dill? Use fresh chives or flat-leaf parsley for a different herbal finish.
- Prefer cooking oil? Use a neutral oil for frying the cakes and keep the butter on the potatoes for flavor.
Tips and Variations
- Add the milk slowly because moisture varies between fish fillets; the mixture should hold a soft mound rather than flow.
- Cook one small test cake fully before shaping the batch so you can check the seasoning and texture.
- Keep the skillet at medium heat so the butter browns the surface without scorching before the centers are cooked.
What Went Wrong?
- Fish mixture spreads in the pan Stop adding milk, stir the mixture firmly by hand until tacky, and shape slightly smaller cakes.
- Cakes break when turned Let the first side form a deeper golden crust before sliding a thin spatula underneath.
- Cakes brown before the centers are ready Lower the heat and cook for an extra minute per side, checking for 63°C/145°F with a food thermometer.
- Potatoes look ragged or watery Keep the water at a steady simmer rather than a hard boil, then steam-dry the drained potatoes before adding butter.
Nutrition Estimate
- Fiber: 5 g per serving
- Sodium: 900 mg per serving
Nutrition disclaimer:This recipe is provided for general cooking information only. Nutrition values are estimates and may vary by ingredients, brands, preparation methods, and serving sizes. Check ingredient labels and follow appropriate food-safety practices. This content is not medical, dietary, allergy, or professional food-safety advice.
FAQ
Found an error or have a suggestion?
Help us improve this recipe. Send us your feedback and include the recipe name so we can take a look.





