Desalar el bacalao la víspera, cambiando el agua 3 veces.
Secarlo, quitar pieles y espinas, y separar en lascas o desmigarlo.
Lavar las patatas y cocerlas en una olla con agua fría con sal unos 20 minutos.
Cuando estén templadas, pelarlas y cortarlas en rodajas.
Pelar la cebolla y cortarla en rodajas finas.
Engrasar una fuente refractaria o 4 individuales con la mantequilla: poner una capa de patatas, una de cebolla y otra de bacalao; terminar con una de patatas.
Mezclar la leche y la nata, sazonar ligeramente y verterlo sobre las patatas.
Cocer en el horno precalentado, a temperatura media unos 35-40 minutos, hasta que las patatas hayan absorbido el líquido.
Encender el grill y dorar la superficie.