Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 pound (450 g) boneless dried salt cod, desalted before cooking
- 2 pounds (900 g) Yukon Gold or other waxy potatoes, peeled and sliced 1/4 inch (6 mm) thick
- 3 large yellow onions (600 g), thinly sliced
- 4 garlic cloves, thinly sliced
- 3/4 cup (180 ml) extra-virgin olive oil, divided
- 4 large eggs
- 1/2 cup (90 g) drained, pitted black olives, preferably Portuguese Galega olives
- 1/4 cup (15 g) chopped fresh flat-leaf parsley, divided
- 2 dried bay leaves
- 1/2 teaspoon freshly ground black pepper
- Up to 1/4 teaspoon fine sea salt, only if needed after tasting
Do This
- 1. Soak the salt cod in cold water in the refrigerator for 48 hours, changing the water every 8 hours.
- 2. Gently poach the drained cod with the bay leaves for 10 minutes, until it reaches 145°F (63°C). Drain, check for bones, and flake.
- 3. Simmer the sliced potatoes for 8 minutes and drain. Separately, simmer the eggs for 10 minutes, chill in ice water for 5 minutes, then peel and slice.
- 4. Cook the onions in 1/2 cup (120 ml) olive oil over medium-low heat for 23 minutes. Add the garlic and cook for 2 minutes more.
- 5. Heat the oven to 400°F (200°C). Coat a 9-by-13-inch baking dish with 2 tablespoons olive oil. Layer the potatoes, cod, onions, and half the parsley in two rounds. Add the olives and remaining 2 tablespoons oil.
- 6. Bake uncovered for 17 minutes. Arrange the sliced eggs on top and bake for 8 minutes more, until golden around the edges and hot throughout.
- 7. Rest for 10 minutes, scatter over the remaining parsley, and serve warm.
Why You’ll Love This Recipe
Bacalhau à Gomes de Sá is a beloved Portuguese salt cod dish associated with Porto. Its combination of flaky fish, potatoes, sweet onions, olives, and eggs makes a generous, comforting centerpiece for a Christmas gathering or a relaxed family dinner.
- Simple ingredients, wonderful flavor: Olive oil, garlic, and slowly softened onions bring everything together without a heavy sauce.
- A beautiful holiday centerpiece: Golden potato edges, glossy black olives, bright parsley, and sliced eggs make an inviting presentation.
- Easy to serve family-style: One generous baking dish feeds six people.
- Practical for entertaining: Desalt the fish ahead and prepare several components the day before.
Grocery List
- Produce: 2 pounds Yukon Gold potatoes, 3 large yellow onions, 4 garlic cloves, and 1 small bunch flat-leaf parsley.
- Seafood: 1 pound boneless dried salt cod, preferably pieces of similar thickness.
- Eggs: 4 large eggs.
- Dairy: None needed.
- Pantry: Extra-virgin olive oil, pitted black olives, 2 dried bay leaves, black pepper, and fine sea salt.
Full Ingredients
For the Salt Cod
- 1 pound (450 g) boneless dried salt cod, preferably skinless
- 3 quarts (2.8 liters) cold water per change for desalting, or enough to cover the fish by 2 inches (5 cm)
- 6 cups (1.4 liters) fresh water for poaching
- 2 dried bay leaves
For the Potatoes and Onion Mixture
- 2 pounds (900 g) Yukon Gold or other waxy potatoes, peeled and sliced into 1/4-inch (6 mm) rounds
- 3 large yellow onions (600 g peeled weight), halved and thinly sliced
- 4 garlic cloves (about 12 g), thinly sliced
- 3/4 cup (180 ml) extra-virgin olive oil, divided: 1/2 cup for the onions, 2 tablespoons for the baking dish, and 2 tablespoons for drizzling
- 1/2 teaspoon freshly ground black pepper
- Up to 1/4 teaspoon fine sea salt, only if needed after tasting
- Water for boiling the potatoes
For the Topping and Garnish
- 4 large eggs
- 1/2 cup (90 g) drained, pitted black olives, preferably Portuguese Galega olives
- 1/4 cup (15 g) chopped fresh flat-leaf parsley, divided: 2 tablespoons for layering and 2 tablespoons for finishing
- Water for cooking the eggs and ice water for cooling them

Step-by-Step Instructions
Step 1: Desalt the cod in the refrigerator
Begin 2 days before you plan to serve the casserole. Rinse the salt cod under cold running water to remove loose surface salt. Place it in a large nonreactive container and add 3 quarts (2.8 liters) cold water, making sure the fish is covered by at least 2 inches (5 cm).
Cover and refrigerate at 40°F (4°C) or below for 48 hours, replacing the water every 8 hours. Keep the fish refrigerated throughout the soaking process.
After soaking, cook a small piece in gently simmering water until it reaches 145°F (63°C), then taste it. It should be pleasantly seasoned rather than sharply salty. Exceptionally thick or heavily cured pieces may need another 12–24 hours of refrigerated soaking, with continued water changes; this extends the total recipe time.
Step 2: Gently poach and flake the cod
Drain the desalted cod. Place 6 cups (1.4 liters) fresh water and the bay leaves in a wide saucepan. Heat the water to approximately 180°F (82°C), with small bubbles but no rolling boil.
Add the cod and gently poach for 10 minutes, maintaining the water around 180°F (82°C), until the thickest part reaches 145°F (63°C) and separates easily into flakes. If necessary, continue cooking until that temperature is reached.
Lift out the fish and let it cool enough to handle. Discard the bay leaves and poaching water. Remove any remaining skin or bones, then separate the cod into generous flakes rather than fine shreds.
Step 3: Prepare the potatoes and eggs
Place the sliced potatoes in a large saucepan and cover with cold water by 1 inch (2.5 cm). Bring to a boil, reduce to a gentle simmer, and cook for 8 minutes, until the slices are just tender but still hold their shape. Drain carefully and spread them on a tray so excess moisture can evaporate.
Meanwhile, bring a separate saucepan of water to a gentle boil. Lower in the eggs and simmer gently for 10 minutes. Transfer to ice water for 5 minutes, then peel and slice into rounds about 1/4 inch (6 mm) thick. Keep the slices aside for the final part of baking.
To keep the cooking time manageable, prepare the potatoes and eggs while the onions cook in the next step.
Step 4: Slowly cook the onions and garlic
Heat 1/2 cup (120 ml) olive oil in a large skillet over medium-low heat. Add the onions and cook for 23 minutes, stirring every few minutes, until very soft, sweet, and lightly caramelized. Reduce the heat if the edges begin to darken before the onions soften.
Add the sliced garlic and cook for 2 minutes more. Stir in the black pepper. Taste a small forkful of onion, potato, and cooked cod together before adding any salt; the cod and olives may provide all the seasoning you need. Add no more than 1/4 teaspoon salt if needed. Keep all the fragrant onion cooking oil for the casserole.
Step 5: Layer the casserole
Heat the oven to 400°F (200°C), with a rack in the middle. Coat the bottom and sides of a 9-by-13-inch (23-by-33-cm) baking dish with 2 tablespoons olive oil.
Arrange half the potatoes across the bottom, overlapping them slightly. Add half the flaked cod, half the onion mixture with its oil, and 1 tablespoon parsley. Repeat with the remaining potatoes, cod, onions, and another 1 tablespoon parsley. Keep the layers loose rather than pressing them down.
Scatter the olives over the top and drizzle with the remaining 2 tablespoons olive oil.
Step 6: Bake and add the sliced eggs
Bake uncovered for 17 minutes. Carefully remove the dish and arrange the sliced hard-boiled eggs over the surface. Return to the oven for 8 minutes, for a total baking time of 25 minutes.
The casserole should be fragrant, sizzling gently around the edges, and lightly golden on the exposed potatoes and onions. The center should reach 165°F (74°C); continue baking if necessary. Adding the eggs near the end warms them through without making the whites overly firm.
Step 7: Rest, garnish, and serve
Let the casserole rest for 10 minutes. Sprinkle with the remaining 2 tablespoons parsley, then serve warm, spooning a little of the olive oil from the bottom of the dish over each portion.
A crisp green salad or simply cooked green beans make a lovely accompaniment to this rich, savory holiday dish.
Pro Tips
- Judge desalting by taste, not time alone: Thickness and curing methods vary. Taste a fully cooked sample before assembling the casserole.
- Choose potatoes that hold their shape: Yukon Gold, Charlotte, or similar waxy potatoes give you tender slices rather than a mash-like filling.
- Keep the cod in large flakes: Gentle poaching and minimal handling preserve its appealing texture.
- Use olive oil you enjoy tasting: It is the foundation of the dish, not just a cooking medium. There is no cream or cheese sauce.
- Do not rush the onions: Soft, lightly golden onions bring sweetness that balances the salt cod and olives; deeply browned or scorched onions can overpower them.
Variations
- With ready-desalted cod: Use 1 1/2 pounds (680 g) refrigerated, ready-desalted cod. Skip the 48-hour soak and follow the package guidance before poaching.
- With a traditional milk rest: After poaching and flaking, cover the cod with 2 cups (480 ml) cold whole milk and refrigerate for 2 hours. Drain thoroughly before layering. This optional preparation adds 2 hours and introduces dairy.
- With whole Portuguese olives: Substitute 1/2 cup whole Galega olives for the pitted olives. Tell guests that the olives contain pits.
Storage & Make-Ahead
Make ahead: Desalt the cod first, then poach and flake it up to 1 day before baking. The potatoes, onion mixture, and hard-boiled eggs can also be prepared 1 day ahead. Cool the cooked components promptly and refrigerate them separately in covered containers at 40°F (4°C) or below. Assemble just before baking. If using cold components, allow approximately 10–15 additional minutes of baking before adding the eggs, and verify that the center reaches 165°F (74°C).
Refrigerate: Transfer leftovers to shallow, covered containers within 2 hours of cooking and refrigerate for up to 3 days. Reheat individual portions, covered, in a 350°F (175°C) oven for about 20 minutes, or until the center reaches 165°F (74°C).
Freeze: For the best texture, remove the egg slices before freezing. Freeze the remaining casserole in airtight portions for up to 2 months. Thaw overnight in the refrigerator, reheat to 165°F (74°C), and add freshly cooked egg slices before serving. The potatoes may soften slightly after freezing.
Nutrition (per serving)
Approximate values for one-sixth of the casserole. Salt cod varies considerably in moisture and salt content, so protein and especially sodium will depend on the product and how thoroughly it is desalted. Optional variations and side dishes are not included.
Calories: 680 kcal | Carbs: 37g | Protein: 56g | Fat: 34g | Saturated Fat: 5g | Fiber: 5g | Sugar: 6g | Sodium: 980mg | Cholesterol: 238mg
