El día antes, poner el bacalao en remojo en la nevera, en un recipiente con agua, durante 16-24 horas, cambiando el agua 3-4 veces.
Escurrir y enjuagar el bacalao. Ponerlo en una cazuela y cubrirlo con agua, 2,5 cm por encima. Llevar a ebullición y cocer a fuego bajo unos 20 minutos, hasta que se deshaga fácilmente con un tenedor. Escurrir bien y desmenuzar el pescado en trozos grandes, retirando piel y espinas.
Cocer las patatas con piel hasta que se puedan pinchar con un tenedor pero no estén del todo blandas. Escurrir, dejar enfriar, pelar y cortar en rodajas de unos 6 mm.
En una sartén de fondo grueso, calentar la mitad del aceite de oliva a fuego medio-alto durante dos minutos. Añadir la cebolla en rodajas y sofreír unos 6-7 minutos, hasta que esté translúcida y ligeramente dorada. Añadir el ajo y retirar del fuego.
Para montar, poner la mitad de las patatas en el fondo de una fuente, cubrir con la mitad del bacalao y luego la mitad de la cebolla. Repetir con el resto de los ingredientes, y rociar con el aceite de oliva restante.
Hornear unos 20 minutos a 200 °C, hasta que la superficie se dore ligeramente.
Decorar con las aceitunas y las rodajas de huevo duro, y espolvorear con perejil.
Servir directamente de la fuente, con un poco de aceite de oliva y vinagre aparte.