Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 skinless white fish fillets (about 5–6 oz each)
- 1 lb russet or Yukon Gold potatoes, peeled
- 1/4 small yellow onion, finely grated (optional)
- 1 large egg
- 6 tbsp neutral oil (canola, vegetable, or avocado), divided
- 1/4 cup + 2 tbsp all-purpose flour, divided
- 2 tsp kosher salt, divided (or to taste)
- 1/2 tsp black pepper
- 1/2 tsp garlic powder
- 1/2 tsp sweet paprika
- Lemon wedges, fresh herbs for serving (optional)
- Optional sauce: 1/2 cup plain Greek yogurt, 1 tbsp lemon juice, 1 tsp Dijon, 1 small garlic clove, herbs
Do This
- 1. Pat fish dry, season with salt and pepper, and lightly dust both sides with flour.
- 2. Shred potatoes on large holes of a box grater, squeeze very dry in a towel, and toss with onion, egg, 2 tbsp flour, salt, pepper, garlic powder, and paprika.
- 3. Press a thin, even layer of the potato mixture onto both sides of each fillet to form a crust.
- 4. Heat 3 tbsp oil in a large nonstick or cast-iron skillet over medium-high (about 350–375°F) until shimmering.
- 5. Sear 2 fillets at a time, potato-side down first, 4–5 minutes per side until potatoes are deep golden and fish is opaque and flakes easily (145°F internal).
- 6. Repeat with remaining oil and fillets, adding a bit more oil if the pan looks dry.
- 7. Stir yogurt, lemon juice, Dijon, garlic, and herbs for a quick sauce; serve fish hot with lemon wedges.
Why You’ll Love This Recipe
- Crunchy, golden shredded potato crust wrapped around tender, flaky fish.
- All stovetop, no deep-frying required, but you still get serious crispiness.
- Uses simple, affordable ingredients you probably already have.
- Easy enough for a weeknight, impressive enough for guests.
Grocery List
- Produce: Russet or Yukon Gold potatoes, yellow onion, garlic, lemon, fresh herbs (parsley, dill, or chives).
- Dairy: Plain Greek yogurt (or you can use mayonnaise instead).
- Pantry: White fish fillets (fresh or frozen and thawed), all-purpose flour, neutral oil (canola, vegetable, or avocado), kosher salt, black pepper, garlic powder, sweet paprika, Dijon mustard.
Full Ingredients
Potato-Crusted Fish Fillets
- 4 skinless, boneless white fish fillets (cod, haddock, pollock, or halibut), 5–6 oz each
- 1 lb russet or Yukon Gold potatoes, peeled (about 2 medium potatoes)
- 1/4 small yellow onion, finely grated (about 2 tbsp, optional but recommended)
- 1 large egg
- 2 tbsp all-purpose flour (for the potato mixture)
- 1/4 cup all-purpose flour (for dusting the fish)
- 2 tsp kosher salt, divided (1 tsp for potatoes, 1 tsp for the fish; adjust to taste)
- 1/2 tsp freshly ground black pepper
- 1/2 tsp garlic powder
- 1/2 tsp sweet paprika (smoked or hot paprika also work if you like more flavor)
- 6 tbsp neutral oil for pan-searing, divided (such as canola, vegetable, grapeseed, or avocado oil)
- 1–2 tbsp chopped fresh parsley or dill for garnish (optional)
- Lemon wedges, for serving
Optional Lemon-Garlic Yogurt Sauce
- 1/2 cup plain Greek yogurt (or mayonnaise for a richer sauce)
- 1 tbsp freshly squeezed lemon juice
- 1 tsp Dijon mustard
- 1 small garlic clove, finely grated or minced
- 1 tbsp finely chopped fresh herbs (dill, parsley, or chives)
- Pinch of kosher salt and black pepper, to taste

Step-by-Step Instructions
Step 1: Prep and Season the Fish
Pat the fish fillets very dry on all sides with paper towels. This helps the flour and potato crust stick and prevents splattering in the pan.
Sprinkle both sides of each fillet with about 1 tsp kosher salt total and a light pinch of black pepper. Place the 1/4 cup flour for dusting on a plate or shallow dish. Lightly dredge each fillet in the flour, shaking off any excess so there is just a very thin, even coating. Set the fish aside on a clean plate while you prepare the potatoes.
Step 2: Shred and Dry the Potatoes
Using the large holes of a box grater or a food processor fitted with a shredding disc, shred the peeled potatoes into long strands. If using onion, finely grate it on the small holes of the grater.
Place the shredded potatoes into a colander and rinse briefly under cold water to remove some of the surface starch, which helps them crisp. Drain well, then transfer the potatoes to a clean kitchen towel or several layers of paper towels. Squeeze very firmly over the sink to remove as much liquid as possible; this step is crucial for a crispy crust. The drier the potatoes, the better they will brown and stay crunchy.
Step 3: Make the Potato Crust Mixture
Transfer the well-squeezed potatoes to a large mixing bowl. Add the grated onion (if using), 1 tsp kosher salt, 1/2 tsp black pepper, 1/2 tsp garlic powder, and 1/2 tsp sweet paprika. Toss to distribute the seasonings evenly.
Crack in the egg and sprinkle over the 2 tbsp flour. Mix thoroughly with clean hands or a fork until the potatoes are evenly coated and the mixture holds together in loose clumps. If it seems very wet, add up to 1 additional tablespoon of flour, a little at a time, just until the mixture feels slightly sticky but not soupy.
Step 4: Press the Potato Crust onto the Fish
Working with one fillet at a time, take a generous handful of the potato mixture and spread it onto one side of the fish, pressing firmly so it adheres in a thin, even layer, about 1/4 inch thick. Flip the fillet carefully and repeat on the second side, using more potato as needed. You should use all or most of the potato mixture to coat the 4 fillets.
Place each crusted fillet on a plate or tray in a single layer. If you are not cooking them immediately, you can refrigerate them uncovered for up to 20 minutes; this brief chill helps the crust set.
Step 5: Pan-Sear the First Side Until Deep Golden
Heat 3 tbsp neutral oil in a large nonstick or well-seasoned cast-iron skillet over medium-high heat. You want the oil hot but not smoking; about 350–375°F if you use an infrared or instant-read thermometer aimed at the oil surface. The oil should shimmer and a stray potato shred should sizzle briskly on contact.
Carefully place 2 of the crusted fillets in the pan (do not crowd) and gently press them down with a spatula to ensure the potatoes make good contact with the hot surface. Cook without moving them for 4–5 minutes on the first side, until the potato layer is a deep golden brown and crisp around the edges.
Step 6: Flip, Finish Cooking, and Repeat
Using a wide spatula, carefully flip each fillet. If the potatoes are resisting, give them another minute; they should release easily when properly browned. Cook the second side for another 4–5 minutes, adjusting the heat between medium and medium-high so the potatoes continue to brown without burning.
The fish is done when the potato crust is golden and crispy on both sides and the fish flakes easily with a fork or reaches an internal temperature of 145°F in the thickest part. Transfer the cooked fillets to a wire rack set over a baking sheet or a paper towel–lined plate. If desired, keep them warm in a 200°F oven while you repeat with the remaining 3 tbsp oil and the last 2 fillets. Add a bit more oil between batches if the pan looks dry.
Step 7: Make the Optional Sauce and Serve
While the second batch cooks, make the optional lemon-garlic yogurt sauce. In a small bowl, combine the Greek yogurt, lemon juice, Dijon mustard, garlic, and chopped herbs. Stir until smooth and season with a pinch of salt and pepper to taste.
To serve, place the crunchy potato-crusted fish fillets on warm plates. Sprinkle with chopped fresh parsley or dill if you like, and serve with lemon wedges and a spoonful of the lemon-garlic yogurt sauce on the side. Enjoy immediately while the crust is at its crispiest.
Pro Tips
- Dry, dry, dry potatoes: The more moisture you squeeze out of the shredded potatoes, the crisper your crust will be. Do not skip the squeezing step.
- Keep the potato layer thin: Aim for about 1/4 inch thick on each side of the fish. Too thick and the potatoes may burn before the centers cook through.
- Do not rush the browning: Let the first side cook undisturbed until the potatoes release easily from the pan. If they are sticking, they need more time.
- Use the right pan: A large nonstick or well-seasoned cast-iron skillet gives the best crust and makes flipping easier.
- Work in batches: Crowding the pan lowers the temperature and makes the crust greasy rather than crisp. Cook 2 fillets at a time for even browning.
Variations
- Cheesy potato crust: Stir 1/4 cup finely grated Parmesan into the potato mixture for an extra-savory, deeply golden crust.
- Herb and lemon zest version: Add 1 tbsp chopped fresh herbs and the finely grated zest of 1/2 lemon to the potato mixture for a bright, aromatic twist.
- Spicy chili crust: Swap the sweet paprika for smoked paprika and add 1/4 tsp cayenne or red pepper flakes for a gently spicy kick.
Storage & Make-Ahead
This dish is best served fresh, when the potato crust is at its crunchiest. However, leftovers can be stored in an airtight container in the refrigerator for up to 2 days. Reheat on a lightly oiled baking sheet in a 400°F oven for 8–10 minutes, or until hot and re-crisped, flipping once halfway through.
You can prep some components ahead: shred, squeeze, and season the potatoes up to 2 hours in advance, then store them in the refrigerator. Press the potato crust onto the fish just before cooking for the best texture. The lemon-garlic yogurt sauce can be made up to 2 days ahead and kept covered in the fridge.
Nutrition (per serving)
Approximate values for 1 serving (1 potato-crusted fillet plus a spoonful of sauce), based on 4 servings: about 420 calories; 20 g fat; 7 g saturated fat; 30 g carbohydrates; 3 g fiber; 4 g sugar; 32 g protein; 650 mg sodium. Actual values will vary based on the specific fish used, oil absorption, and portion sizes.

Leave a Reply