
This method transforms delicate white fish into a flaky, moist centerpiece with almost no effort. The secret lies in gentle heat and precise timing—no fancy techniques required.
I’ve tested countless variations, and this approach consistently delivers restaurant-quality results with simple ingredients. A light seasoning and careful cooking preserve the fish’s natural tenderness.
What you’ll get is perfectly cooked fillets that break apart with a fork, every bite tender and flavorful. The method works for cod, tilapia, or haddock with equally impressive results.
Ready in under 20 minutes, it’s the ideal weeknight solution. Pair with lemon wedges and steamed vegetables for a complete meal.
Ingredients for Simple White Fish
Delicate fish and bright seasonings create a restaurant-worthy meal with minimal effort.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, tilapia, or haddock preferred |
| Olive Oil 🫒 | 3 tbsp | Extra-virgin for best flavor |
| Unsalted Butter 🧈 | 2 tbsp | Melted for richness |
| Lemon 🍋 | 1 whole | Zested and juiced for brightness |
| Garlic Cloves 🧄 | 3 cloves | Minced finely for aroma |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Dijon Mustard 🟡 | 1 tbsp | For tangy depth |
| Kosher Salt 🧂 | 1 tsp | Diamond Crystal preferred for texture |
| Freshly Ground Black Pepper 🌶️ | ½ tsp | Coarse grind for bite |
| Dry White Wine 🍷 | ¼ cup | Sauvignon Blanc or Pinot Grigio |
| Fresh Dill 🌿 | 2 tbsp | Chopped, optional herb complement |
[recipe_ingredient_scaler]
The fish is the star here. Cod, tilapia, or haddock all work beautifully—look for fillets that are uniform in thickness (about 1-inch thick) for even cooking. Freshness is key: the fish should smell like the ocean, not fishy. I source mine from Whole Foods or a trusted local fishmonger. The butter and olive oil combo creates a luxurious pan sauce that enhances the natural sweetness of the fish.
No white wine? Chicken or vegetable broth with a splash of lemon juice works in a pinch. Fresh dill can be swapped for tarragon or thyme—both pair well with fish. If you’re avoiding dairy, use all olive oil instead of butter. The Dijon mustard adds a subtle tang; whole-grain mustard can be used for a rustic texture. For a citrus twist, add a pinch of lemon zest to the seasoning.
Store raw fish in the coldest part of your fridge and use within 1-2 days. Cooked fillets keep for up to 3 days in an airtight container. The pan sauce can be refrigerated for 1 week or frozen for 1 month—reheat gently to avoid separation.
Why You’ll Love This Recipe
- One Pan Dinner: I love that I only dirty a single skillet—fish, butter, garlic, and lemon all cook together in minutes.
- Buttery Lemon Garlic: The combo of melted butter, fresh garlic, and bright lemon makes every bite ridiculously good.
- Weeknight Hero: Honestly, it’s my go-to for busy evenings when I need something fast but still impressive.
- Budget-Friendly Protein: White fish fillets stretch far, and the simple ingredients keep costs low without skimping on flavor.
Step-by-Step Instructions for White Fish
Here is the method. Straightforward, tested, works every time.
Step 1: Prepare and Season the Fish
Pat the 1.5 lb white fish fillets completely dry with paper towels. Any moisture left on the surface will prevent proper browning and create steam instead of sear. I always check both sides and the edges—fish holds water in surprising places.
Season both sides evenly with 1 tsp kosher salt and 0.5 tsp freshly ground black pepper. The salt should look slightly generous; this is your only opportunity to season the interior of the fillets. Let them sit at room temperature for 10 minutes while you prepare the other components.
Step 2: Create the Aromatic Base
In a large skillet with a lid, heat 3 tbsp olive oil over medium heat until it shimmers. Add the 3 cloves minced garlic cloves and cook for 30-45 seconds until just fragrant and pale golden—not brown. Garlic burns quickly, and burnt garlic will make your dish bitter.
Add 1 tbsp Dijon mustard and stir to combine. The mustard will sizzle briefly. Then pour in 0.25 cup dry white wine and let it simmer for 2 minutes until reduced by about half. This creates a flavorful base that will infuse the fish as it cooks.
Step 3: Cook the Fish to Flaky Perfection
Add the 2 tbsp unsalted butter to the skillet and let it melt, swirling to combine with the oil and aromatics. Place the seasoned fish fillets in the pan, skin-side down if they have skin. Cook undisturbed for 4-5 minutes until the edges appear opaque and the underside is golden brown.
Carefully flip the fillets using a thin spatula. The fish should release easily when it’s ready. Add the zest and juice of 1 whole lemon to the pan, then cover with the lid. Cook for another 3-4 minutes until the fish is opaque throughout and flakes easily with a fork.
Step 4: Finish with Fresh Herbs and Serve
Remove the skillet from heat. Sprinkle 2 tbsp fresh dill and 0.25 cup fresh parsley over the fish. The residual heat will soften the herbs slightly without wilting them completely. I like to press some of the herbs into the pan sauce so they absorb the flavors.
Let the fish rest in the warm pan for 2 minutes before serving. This allows the juices to redistribute, ensuring each portion remains moist and flaky. Spoon some of the herbed pan sauce over each fillet when plating. The sauce should coat the fish lightly without overwhelming it.
Pro Tips For Making Simple White Fish
- Pat Fish Dry: Use paper towels to thoroughly dry the fillets before cooking—this guarantees a golden crust instead of steaming in their own moisture.
- Hot Pan First: Get your skillet screaming hot before adding the oil and fish; I learned this the hard way after too many pale, sad fillets.
- Butter Last: Add the butter with the garlic in the last 2 minutes to prevent it from burning and turning bitter.
- Rest 5 Minutes: Tent the cooked fish with foil and let it rest before serving—it stays juicier and doesn’t fall apart on the plate.
Dietary Considerations for This Recipe
Low-Carb Friendly
This dish is naturally low-carb with just 3g net carbs per serving from the wine and mustard. The primary ingredients—fish, olive oil, butter, and herbs—contain virtually no carbohydrates, making it perfect for keto or Atkins diets. 💪
Gluten-Free
All ingredients in this recipe are inherently gluten-free, but double-check your Dijon mustard and wine labels. Some brands add wheat-based thickeners or process in shared facilities. I use Annie’s Dijon and Kendall-Jackson Pinot Grigio for guaranteed safety.
For extra caution, use a dedicated gluten-free skillet if cross-contamination is a concern.
Pescatarian Perfect
This is an ideal pescatarian meal, providing high-quality protein without meat. The fish delivers omega-3s while the olive oil adds heart-healthy fats. I often serve it with quinoa or roasted vegetables for a complete meat-free dinner.
Dairy-Free Option
Simply swap the 2 tbsp butter for an equal amount of olive oil. The dish loses a bit of richness but gains a lighter profile. To compensate, add 1 extra tbsp olive oil to the pan sauce for depth.
Allergen Notes
The main allergens here are fish and potentially dairy (from butter). For nut allergies, this recipe is safe as written. Always verify with guests about fish allergies, as reactions can be severe.
Nutrition Facts
Frequently Asked Questions
What’s the best way to check for doneness?
The fish is done when it reaches an internal temperature of 145°F and flakes easily with a fork. The flesh should appear opaque throughout with no translucent spots.
Can I use frozen fish instead?
Yes, but thaw it completely in the fridge overnight first. Pat it extra dry to remove excess moisture before cooking. Never cook fish straight from frozen.
How can I prevent the fish from sticking?
Make sure your pan is hot enough and use a non-stick skillet or well-seasoned cast iron. Don’t move the fillets until they’re ready to flip, about 4-5 minutes.
What sides pair well with this dish?
Try steamed asparagus, roasted potatoes, or a fresh green salad. The light lemon butter sauce complements simple sides perfectly.