Fish and Potatoes Recipe: Herb-Roasted Crunch Meets Fluffy Interiors

Side Dishes

Fish and Potatoes Recipe: Herb-Roasted Crunch Meets Fluffy Interiors

This fish and potatoes recipe delivers the perfect balance of crispy, golden edges and tender, fluffy interiors—exactly what makes a complete meal shine. The secret lies in roasting potatoes until they develop that satisfying crunch while ensuring the fish stays moist and flavorful.

I’ve tested countless variations, and this method consistently delivers restaurant-quality results at home.

What sets this dish apart is the herb-roasted technique, which infuses every bite with aromatic flavors without overpowering the natural taste of the fish or potatoes. The combination of lemon, garlic, and fresh herbs creates a bright, savory profile that pairs beautifully with both components.

You’ll need just a few simple ingredients, but the results are anything but basic.

By the time you serve this dish, your table will be filled with golden, crispy potatoes and perfectly seasoned fish that flakes easily at the touch of a fork. The aromas alone will have everyone anticipating dinner, while the textures—crunchy exteriors, tender centers—create a satisfying contrast in every bite.

This is the kind of meal that feels special yet remains approachable for any weeknight.

The beauty of this recipe is its versatility—serve it with a fresh green salad for a light lunch or pair it with steamed vegetables for a heartier dinner.

The method works equally well with white fish like cod or haddock, making it adaptable to whatever you have on hand. Let’s get cooking!

👨‍🍳
Difficulty
Easy
🐟
Category
Seafood
🔥
Calories
Med Cal

Ingredients for fish and potato

Twelve ingredients transform into restaurant-quality fish and potatoes with crispy edges and fluffy centers.

Ingredient Amount Notes
White Fish Fillets 🐟 1 ½ lb Cod or haddock preferred, skin-on
Baby Potatoes 🥔 2 lbs Yukon gold or red, halved lengthwise
Extra-Virgin Olive Oil 🫒 ½ cup For roasting, high-quality preferred
Fresh Lemon 🍋 1 whole Juiced and zested, organic preferred
Garlic Cloves 🧄 6 cloves Minced, fresh for best flavor
Fresh Parsley 🌿 ¼ cup Chopped, stems removed
Fresh Thyme 🌿 2 tbsp Leaves only, finely chopped
Kosher Salt 🧂 2 tbsp Diamond Crystal preferred
Ground Black Pepper 🌶️ 1 tbsp Freshly ground for optimal flavor
Dried Oregano 🍃 1 tsp Mexican oregano if available
Paprika 🌶️ 1 tsp Smoked variety for depth
Unsalted Butter 🧈 2 tbsp Melted, full-fat preferred
Fresh Dill 🌿 2 tbsp Chopped, optional but recommended

The fish makes or breaks this dish—cod or haddock with skin-on delivers the best texture. Whole Foods or local fish markets often carry the freshest fillets, but any reputable grocery store's seafood counter will do. Look for fillets with a vibrant color and minimal fishy odor. For the potatoes, Yukon gold or red baby potatoes are ideal—their waxy texture holds up perfectly to roasting. If you can't find baby potatoes, cut larger russets or red potatoes into even 1-inch chunks. The herb blend is where the magic happens: fresh parsley, thyme, and dill create a bright, aromatic profile that complements the fish beautifully. I always double-check the expiration date on fresh herbs—they should be crisp and vibrant, not wilted or yellowing.

No fresh dill? Substitute with an extra tablespoon of parsley—it won't be identical, but it works in a pinch. Running low on thyme? Dried thyme at one-third the amount keeps the flavor profile close. The smoked paprika adds depth without overpowering, but if you only have regular paprika, use it—just add a pinch of liquid smoke for extra dimension. For the fish, if cod or haddock isn't available, pollock or tilapia work well, though they may stay slightly firmer. The lemon juice can be substituted with white wine vinegar if needed, though fresh lemon adds a brightness that's hard to beat. And if you're prepping ahead, store the fish and potatoes separately in the fridge—combine them only when ready to roast to keep everything crisp.

This dish reheats beautifully—just pop it in a 350°F oven for 10-15 minutes until warmed through. The potatoes stay crispy on the outside and fluffy inside, while the fish flakes easily. Store leftovers in an airtight container in the fridge for up to 3 days, though I rarely have any left that long. For meal prep, roast an extra batch and portion it into containers—pair with a simple green salad or steamed veggies for a complete meal. The herb-roasted technique works equally well for baked potatoes or fish tacos, making this a versatile base for multiple meals.

❤️

Why You'll Love This Recipe

  • One-Pan Magic: I swear by this for nights when I’d rather not wash dishes. Toss the potatoes and fish on a sheet pan, drizzle with olive oil, and let the oven do the work—no pots, no fuss, just golden results.
  • Citrus-Kissed Crisp: That lemon-zest finish on flaky fish? It’s the secret weapon. The garlic-infused olive oil gives the potatoes a nutty edge, but the real showstopper is how the lemon brightens every bite—like sunshine in a plate.
  • Lunchbox Hero: Between us, this is my go-to for meal prep. The fish stays tender, the potatoes hold up, and I can pack it for work or school lunches without worrying about soggy leftovers—just reheat and enjoy.
  • Budget Bright Spot: Fresh fish might sound fancy, but white fillets stretch far, and baby potatoes cost next to nothing. Honestly, it’s one of those recipes where the ingredients feel luxurious but the price tag doesn’t break the bank.

Step-by-step instructions for herb-roasted fish and potatoes

Here's how to achieve perfectly crispy potatoes and tender, flavorful fish with a harmonious herb crust.

1

Prepare the Potatoes for Roasting

Preheat your oven to 425°F for even cooking. Rinse the 2 lbs baby potatoes under cold water, then halve them lengthwise using a sharp chef's knife. The smaller size ensures they cook through without becoming mushy.

Place the potato halves in a large bowl and toss them with 0.25 cup extra-virgin olive oil, 1 tsp paprika, 1 tsp dried oregano, 1 tbsp kosher salt, and ½ tbsp ground black pepper. Spread them out on two rimmed baking sheets lined with parchment paper, cut-side down. This arrangement prevents crowding and promotes even browning.

Roast for 20 minutes until the edges begin to crisp and the potatoes feel slightly tender when pierced with a fork. I like to rotate the pans halfway through for consistent browning. The potatoes should develop a golden crust while remaining fluffy inside.

2

Season and Sear the Fish Fillets

While the potatoes roast, prepare the 1.5 lb white fish fillets by patting them completely dry with paper towels. This step is crucial—any moisture prevents proper browning. Season both sides generously with 1 tbsp kosher salt, ½ tbsp ground black pepper, and 1 tbsp chopped fresh thyme.

Heat 2 tbsp extra-virgin olive oil in a large oven-safe skillet over medium-high heat until shimmering. Add the fish fillets, skin-side down if using skin-on varieties, and sear for 2-3 minutes until the skin becomes crispy and golden. Flip carefully and cook for another 1-2 minutes until the fish reaches 145°F internally.

Remove the skillet from heat and transfer the fish to a plate. The residual heat will finish cooking it gently. The fish should be opaque throughout with no translucent centers, indicating perfect doneness.

3

Finish the Potatoes and Prepare the Herb Butter

Return the potatoes to the oven for an additional 5-8 minutes until they're tender when pierced with a fork and have developed a deep golden-brown crust. This final roasting step intensifies their flavor and texture.

In a small saucepan, melt the 2 tbsp unsalted butter over low heat. Add 2 tbsp chopped fresh parsley, 2 tbsp chopped fresh dill, 2 cloves minced garlic, and the juice and zest of the whole fresh lemon. Simmer for 1-2 minutes until fragrant, then remove from heat.

Carefully pour the herb butter mixture over the roasted potatoes, tossing gently to coat. The potatoes will absorb the flavors beautifully while maintaining their crispy edges. The lemon zest adds a bright contrast to the earthy herbs.

4

Assemble and Serve

Arrange the herb-roasted potatoes on a serving platter, fanning them slightly to showcase their crispy edges. Place the fish fillets alongside, skin-side up if using skin-on varieties. Drizzle any remaining herb butter from the skillet over the top for extra flavor.

Garnish with additional chopped fresh parsley and chopped fresh dill for a pop of color and freshness. Serve immediately while the potatoes are still crispy and the fish is warm. Each bite should deliver a perfect balance of textures—crispy potato edges, fluffy interiors, and tender, flavorful fish.

👨‍🍳

Pro Tips For Making Fish And Potato

  • Parboil Potatoes First: Tiny potatoes take forever to cook through in the pan. Boil them whole in salted water for 5 minutes first—they’ll finish faster and stay intact, not turn to mush. (Yes, even if you’re impatient like me.)
  • Dry Fish Like Your Life Depends: Pat those fillets thoroughly with paper towels before searing. Wet skin = steam = sad, soggy fish. I learned this the hard way when my lemon-garlic crust just slid off.
  • Garlic Needs Time: Don’t rush the garlic. Sauté it in olive oil for 2 full minutes until it’s golden, not just fragrant. Burnt garlic ruins the whole dish—trust me, I’ve served it.
  • Finish with Lemon Zest: Skip the juice-only approach. After cooking, sprinkle fresh lemon zest over the fish and potatoes—it brightens the whole plate instantly. (Your future self will notice the difference.)

Perfect pairings for this dish

Classic Green Salad

Start with a simple mixed greens salad featuring 4 cups baby spinach, 2 cups arugula, and 1 cup sliced radishes.

Toss with 2 tbsp extra-virgin olive oil, 1 tbsp lemon juice, ½ tsp Dijon mustard, ½ tsp honey, ½ tsp salt, and ¼ tsp black pepper.

The peppery bite of arugula and the crispness of radishes cut through the richness of the fish and potatoes beautifully. 🥗

Creamy Garlic Dill Sauce

Whisk together ½ cup sour cream, 2 tbsp mayonnaise, 1 tbsp chopped fresh dill, 1 tbsp chopped fresh parsley, 1 minced garlic clove, 1 tsp lemon juice, ½ tsp salt, and ¼ tsp black pepper.

This sauce adds a cooling contrast to the warm, herby fish and potatoes. Serve it on the side for dipping or drizzle lightly over the dish for extra flavor. The tangy dill complements the roasted herbs perfectly.

Crusty Bread Pairing

Serve with warm, crusty bread like a baguette or sourdough to soak up any leftover herb butter or sauce. Toast slices in the oven at 375°F for 5-7 minutes until golden and crisp.

Brush with garlic-infused olive oil and sprinkle with flaky sea salt for an elevated touch. The bread adds a satisfying texture contrast and makes the meal feel complete. 🍞

Light Lemon Aioli

Blend ½ cup mayonnaise, 1 tbsp lemon juice, 1 tsp lemon zest, 1 minced garlic clove, 1 tbsp chopped fresh dill, ½ tsp salt, and a pinch of cayenne pepper for a bright, zesty dip.

This aioli pairs wonderfully with both the fish and potatoes, enhancing their flavors without overpowering them. Serve in a small bowl alongside the dish for easy dipping or drizzle lightly over the top for added moisture and flavor.

Steamed Asparagus

For a vegetable side, steam 1 bunch asparagus (about 12 spears) for 4-5 minutes until tender-crisp. Toss with 1 tbsp melted butter, ½ tsp lemon zest, ½ tsp salt, and a pinch of black pepper.

The bright, fresh flavor of asparagus balances the richness of the fish and potatoes, adding a touch of elegance to the meal. The crisp-tender texture complements the dish beautifully. 💚

Wine Pairing Suggestions

For a white wine pairing, opt for a crisp Sauvignon Blanc from New Zealand or a dry Riesling from Germany. The bright acidity and citrus notes of these wines complement the lemon and herbs in the dish.

If you prefer red, a light Pinot Noir from Oregon or Burgundy adds subtle earthiness that won’t overpower the delicate flavors. 🍷

Nutrition facts

Servings 4
Amount Per Serving
Calories 480kcal
% Daily Value *
Total Fat 24g31%
Saturated Fat 6g30%
Cholesterol 95mg32%
Sodium 720mg31%
Total Carbohydrate 42g15%
Dietary Fiber 6g21%
Sugars 4g
Protein 34g68%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I use frozen fish instead of fresh?

Yes, but thaw it properly first! Place frozen fillets in the refrigerator overnight in a sealed bag to maintain quality. Never thaw at room temperature, as this promotes bacterial growth. For best results, pat completely dry before seasoning to ensure crispy skin. The texture difference is minimal when done correctly.

2

How do I prevent the potatoes from getting mushy?

Use baby potatoes or cut larger ones into even 1-inch chunks for consistent cooking. Roast at 425°F with cut-side down on the baking sheet to promote crispy edges. Avoid overcrowding—leave space between pieces for proper air circulation. Check doneness with a fork after 20 minutes.

3

What's the best fish for this recipe?

Skin-on cod or haddock work perfectly, but pollock or tilapia are great substitutes. Avoid fatty fish like salmon—they can overpower the delicate herb flavors. For extra crispiness, use skin-on fillets. The key is freshness: look for fillets with a clean, ocean-like aroma and firm texture.

4

Can I make this ahead of time?

Roast the potatoes and fish separately up to 1 day ahead, then store in airtight containers. Reheat in a 350°F oven for 10-15 minutes until warmed through. The potatoes stay crispy, while the fish reheats beautifully. Combine components only when ready to serve for optimal texture.

5

What if I don't have fresh herbs?

Use dried herbs at one-third the amount (e.g., 1 tsp dried thyme instead of 1 tbsp fresh). For dill, substitute with extra parsley. The flavor won't be identical, but the dish will still taste delicious. If possible, grow your own herbs—basil and parsley thrive in pots!

★★★★★4.8(11 reviews)
Categories Side Dishes