Coloque as batatas e os ovos a cozer. Devem estar durante 30 minutos ou até ficarem macias, mas firmes (não devem ficar demasiado moles). Os ovos devem cozer durante 15 minutos - retire-os com uma escumadeira.
Assim que as batatas estiverem cozidas, retire-as da água, deixe arrefecer e depois descasque. Corte em rodelas com cerca de 0,5 cm, tempere com sal e, numa frigideira, frite (de ambos os lados) com um pouco de azeite e reserve.
Num tacho com água a ferver, adicione o bacalhau dessalgado e deixe durante 5 minutos.
Retire-o, deixe arrefecer, retire as espinhas, a pele e desfie.
Numa frigideira, em lume médio, coloque as folhas de louro e refogue a cebola até ficar transparente. Acrescente o sal, a pimenta, o alho, o bacalhau desfiado e misture bem. Deixe refogar um pouco, retire as folhas de louro e desligue o lume.
Num tabuleiro de ir ao forno, regue o fundo com um fio de azeite e faça camadas alternadas: uma de batata, uma de bacalhau, mais uma camada de batatas, outra de bacalhau e finalize com uma camada de batatas com os ovos cozidos cortados e azeitonas pretas.
Leve ao forno pré-aquecido a 180 ºC durante cerca de 15 minutos. Polvilhe com salsa por cima e sirva.