Back to all recipes

Milk-Poached Fish with Baby Potatoes and Fennel

  • All White Fish
  • Soup / Stew
  • Poach
  • French
  • One-pot
  • Active Time:20 min
  • Total Time:35 min
  • Servings:4
  • Difficulty:Easy
Photo by Julia Gartland

When poaching fish in whole milk, the fat keeps the fish incredibly moist while infusing it with a delicate sweetness. Choose a pan that allows the fish to fit snugly in a single layer. Creamy baby potatoes and tender leeks and fennel add flavor and texture to this luscious, simple meal. If your fennel has feathery fronds, save some for garnish.


  • 2 portions halibut, rockfish, lingcod, or Pacific cod (16 to 20 ounces), cut into 4 pieces Available in Our Seafood Subscription Box

  • Salt and freshly ground pepper

  • 12 ounces fingerling potatoes, sliced into ½-inch-thick rounds

  • 2 tablespoons unsalted butter

  • 1 small fennel bulb, trimmed and thinly sliced, 2 tablespoons fronds reserved

  • 1 small leek, white and tender green parts, cut crosswise into ½-inch rings, washed well

  • 2 garlic cloves, thinly sliced

  • 1 (2-inch) rosemary sprig

  • 2 cups whole milk

  • Extra virgin olive oil, for drizzling


Precook the Potatoes

Pat the fish dry with paper towels, sprinkle with salt, and set aside.

Fill a deep skillet or wide, shallow saucepan with 1 inch of lightly salted water and bring to a boil over high heat. Add the potatoes, cover, and cook, stirring occasionally, just until tender, about 8 minutes. Reserve ½ cup of the cooking liquid, then drain the potatoes and wipe out the skillet.

Sauté the Aromatics

In the skillet over medium heat, melt the butter. Add the fennel and leek, then season with salt. Cook, stirring occasionally, until tender and just beginning to brown, about 8 minutes. Stir in the garlic and rosemary and cook until fragrant, about 1 minute. Return the potatoes to the skillet and stir to combine.

Poach the Fish

Add the milk and reserved potato cooking liquid and bring to a gentle simmer; adjust the heat so the mixture does not boil. Season with salt and pepper.

Rinse the fish and pat dry, then add it to the skillet, nestling it into the simmering liquid (it should only be partially submerged). Cook until the fish is opaque and cooked through, 5 to 8 minutes depending on the thickness of the fillet.

Finish and Serve

Discard the rosemary sprig. Divide the fish and vegetables between shallow bowls, spooning the poaching liquid over top. Drizzle lighlty with olive oil, garnish with fennel fronds, and serve.

Pro Tips

Pair it Up

Pour a chilled glass of buttery chardonnay to complement the richness and texture of this elegant, yet simple dish.

Level It Up

This works well with salmon, shrimp, and crab, but the cooking time will be a few minutes shorter for shrimp and crab.

Change It Up

For a hearty next day lunch or dinner, gently rewarm the leftover fish, veggies, and milk in a saucepan with a bit of chicken stock or clam juice for a satisfying fish chowder. Oyster crackers optional!

Lighten It Up

Milk fat is key to keeping the fish moist and tender, so don’t be tempted to use skim without doubling up on the butter. Full-fat milk helps keep you feeling full for longer, plus it’s packed with protein, calcium, and vitamin D.


Full Bleed Hero
Full Bleed Hero