Passo 1 (dois dias antes): Demolhe o bacalhau em água durante cerca de 36 horas dentro do frigorífico, mudando a água de 12 em 12 horas.
Passo 2: Leve uma panela com água ao lume para ferver. Quando estiver em ebulição, deite o bacalhau e deixe cozer durante 5 minutos. Retire o bacalhau da água e seque-o com papel de cozinha. Retire as espinhas e a pele e pique o bacalhau.
Passo 3: Corte as cebolas em rodelas, coloque-as numa frigideira com um pouco de azeite e leve a lume médio até ficarem bem douradas. Junte o bacalhau à cebola e refogue durante 5 minutos.
Passo 4: Descasque as batatas, corte-as em rodelas finas e frite-as em óleo abundante. Depois de fritas, coloque-as num papel de cozinha para absorver a gordura.
Passo 5: Num tacho ou panela, coloque a margarina e o azeite e leve a lume médio; quando a margarina derreter, adicione a farinha, mexa durante um minuto até ficar dourada. Adicione o leite e mexa durante 5 minutos até engrossar e ficar sem grumos. Adicione as natas e deixe mais 5 minutos ou até engrossar um pouco.
Passo 6: Numa travessa de ir ao forno, coloque o bacalhau com a cebola, deite as batatas por cima e por fim o molho bechamel. Coloque a folha de louro e leve ao forno a 180°C durante 30 minutos.