Portuguese Salt Cod with Potatoes and Eggs (Bacalhau à Brás) — Lisbon-Style Comfort Classic
Bacalhau à Brás is a beloved Portuguese salt cod dish associated with Lisbon taverns and home cooking. Shredded cod, crisp matchstick potatoes, onions, and softly set eggs are finished with parsley and black olives.

Printable Recipe Card
Servings: 4 · Total: 70 min · Difficulty: medium
Ingredients (quick list)
- 600 g salt cod fillet (skinless if possible, soaked in cold water for 24 to 36 hours with 4 water changes)
- 500 ml whole milk (for gentle poaching)
- 1 leaf bay leaf
- 700 g waxy potatoes (peeled and cut into very thin matchsticks)
- 750 ml sunflower oil (for frying; absorbed amount is lower than total used)
- 0.25 tsp fine sea salt (use only if the soaked cod is not very salty)
- 60 ml extra-virgin olive oil
- 1 large yellow onion (thinly sliced)
- 2 clove garlic (finely chopped)
- 6 eggs
- 0.5 tsp freshly ground black pepper
- 12 sprig flat-leaf parsley (leaves chopped)
+ 1 more in the full ingredients section below.
Steps (summary)
- Desalt the salt cod before you begin cooking by soaking it in cold water for 24 to 36 hours in the refrigerator, changing the w…
- Place the soaked cod in a saucepan with the milk and bay leaf, then bring it just to a gentle simmer over medium-low heat. Cook…
- Lift the cod from the milk, discard the bay leaf, and let the fish cool until easy to handle. Remove any skin or bones, then pu…
- Rinse the potato matchsticks in cold water until the water runs mostly clear, then dry them very thoroughly with a clean kitche…
- Drain the fried potatoes on paper towels and season them with the measured sea salt only if the cod is mild after soaking. Keep…
- Warm the olive oil in a wide skillet over medium heat and add the sliced onion. Cook for 8 to 10 minutes, stirring often, until…
+ 3 more steps in the full instructions section below.
Cultural Background
Named for Brás, traditionally linked to Lisbon's Bairro Alto, this dish shows Portugal's deep salt cod culture and the tavern style of turning preserved fish, potatoes, onions, and eggs into a generous family meal.
Equipment
💡 Tips
- Do not boil the soaked cod vigorously, because salt cod becomes fibrous when overcooked.
- Dry the potato matchsticks completely before frying to prevent splattering and to make them crisp.
- Take the skillet off the heat before the eggs look fully cooked; Bacalhau à Brás should be soft and creamy.
⚠️ Common Mistakes
❌ Using cod that has not been soaked long enough.
✅ Fix: Soak for 24 to 36 hours in the refrigerator and change the water 4 times, then taste a cooked flake before adding extra salt.
❌ Overcooking the eggs until they become dry and crumbly.
✅ Fix: Cook on low heat while stirring gently and remove the pan while the eggs are still glossy.
❌ Adding wet potatoes to hot oil.
✅ Fix: Rinse away starch, then dry the matchsticks thoroughly with a towel before frying.
🧊 How to Store
Store leftovers in an airtight container in the refrigerator for up to 2 days. Reheat gently in a covered skillet over low heat with 1 tbsp water for 4 to 5 minutes, but expect the eggs and potatoes to be softer than when freshly made.
📅 Make Ahead
Desalt and flake the cod up to 1 day ahead, and cut the potatoes up to 4 hours ahead if kept submerged in cold water. Dry and fry the potatoes just before finishing the dish.
🍽️ Pairs Well With
- Simple green salad
- broa de milho
- crusty Portuguese bread
- vinho verde
- tomato and onion salad.
Regional Variations
- Lisbon versions often keep the eggs very soft and garnish generously with parsley and black olives.
- Home cooks sometimes use packaged palha potatoes for speed, especially for weeknight meals.
- Some Portuguese kitchens poach the cod in water rather than milk for a cleaner, more briny flavor.
Ingredients
- 600 gsalt cod fillet (skinless if possible, soaked in cold water for 24 to 36 hours with 4 water changes)
- 500 mlwhole milk (for gentle poaching)
- 1 leafbay leaf
- 700 gwaxy potatoes (peeled and cut into very thin matchsticks)
- 750 mlsunflower oil (for frying; absorbed amount is lower than total used)
- 0.25 tspfine sea salt (use only if the soaked cod is not very salty)
- 60 mlextra-virgin olive oil
- 1large yellow onion (thinly sliced)
- 2 clovegarlic (finely chopped)
- 6eggs
- 0.5 tspfreshly ground black pepper
- 12 sprigflat-leaf parsley (leaves chopped)
- 60 gPortuguese black olives (pitted or whole, according to preference)
🔄 Substitutions
- homemade fried potato matchsticks→ high-quality thin shoestring potatoes
- whole milk for poaching→ water
- Portuguese black olives→ oil-cured black olives
Instructions
- 1
Desalt the salt cod before you begin cooking by soaking it in cold water for 24 to 36 hours in the refrigerator, changing the water 4 times. Taste a small flake after soaking; it should be pleasantly seasoned but not harshly salty.
- 2
Place the soaked cod in a saucepan with the milk and bay leaf, then bring it just to a gentle simmer over medium-low heat. Cook for 8 minutes, remove the pan from the heat, and let the cod stand in the hot milk for 5 minutes so it stays moist.
- 3
Lift the cod from the milk, discard the bay leaf, and let the fish cool until easy to handle. Remove any skin or bones, then pull the flesh into small flakes with your fingers rather than chopping it, which preserves the traditional texture.
- 4
Rinse the potato matchsticks in cold water until the water runs mostly clear, then dry them very thoroughly with a clean kitchen towel. Heat the sunflower oil to 175°C in a deep pan and fry the potatoes in 3 batches for 3 to 4 minutes per batch, until pale golden and crisp.
- 5
Drain the fried potatoes on paper towels and season them with the measured sea salt only if the cod is mild after soaking. Keep the potatoes uncovered so steam does not soften them while you cook the onion base.
- 6
Warm the olive oil in a wide skillet over medium heat and add the sliced onion. Cook for 8 to 10 minutes, stirring often, until the onion is soft and sweet but not browned; add the garlic and cook for 1 minute more.
- 7
Add the flaked cod to the onion mixture and fold gently for 2 minutes so the fish absorbs the olive oil and aromatics. Add the fried potatoes and toss carefully, keeping as many matchsticks intact as possible.
- 8
Beat the eggs with the black pepper in a bowl until evenly blended. Reduce the skillet heat to low, pour in the eggs, and stir constantly but gently for 2 to 3 minutes until the eggs are creamy and just set, not dry.
- 9
Remove the pan from the heat while the eggs still look slightly glossy, because residual heat will finish the dish. Fold in half of the chopped parsley, transfer to a warm serving dish, and garnish with the remaining parsley and black olives.
🪪 Recipe Passport
Cultural Background
Named for Brás, traditionally linked to Lisbon's Bairro Alto, this dish shows Portugal's deep salt cod culture and the tavern style of turning preserved fish, potatoes, onions, and eggs into a generous family meal.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
📚 Sources & Cultural References
- Maria de Lourdes Modesto — Cozinha Tradicional Portuguesa — (1982)
- Jean Anderson — The Food of Portugal — (1986)
Sources cited by the Zaffaron editorial team during recipe research. Cultural and culinary references supporting authenticity claims.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Portuguese Pork Sandwiches (Bifanas) — Garlicky Wine-Braised Pork Rolls
Portuguese · Main Courses · 60 min

Portuguese Duck Rice (Arroz de Pato) — Baked Duck Rice with Chouriço
Portuguese · Main Courses · 155 min

Seafood Rice (Arroz de Marisco) — Saucy Portuguese Shellfish Rice
Portuguese · Rice Dishes · 65 min

Swedish Potato Pancakes with Pork (Raggmunk med fläsk) — Crispy Husmanskost with Lingonberries
Swedish · Main Courses · 55 min

Chips and Egg Omelet (Chipsi Mayai) — Tanzanian Street-Food Classic
Tanzanian · Main Courses · 50 min

Spanish Potato Omelette (Tortilla Española) — Classic Potato and Egg Tortilla
Spanish · Main Courses · 55 min

Brazilian Picanha (Picanha) — Coarse-Salted Churrasco Steak
Brazilian · Kebabs · 50 min

German Potato Salad (Kartoffelsalat) — Warm Vinegar-Broth Potato Salad
German · Salads · 50 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.