Preaqueça o forno a 200°C. Descasque e corte as batatas em cubos grandes e leve ao fogo alto numa panela com água e um pouco de sal. Quando ferver, deixe cozinhar por 20 minutos.
Enquanto isso, numa panela pequena, coloque o bacalhau, cubra com água e leve ao fogo alto até ferver. Deixe cozinhar por 10 minutos. Transfira para uma tigela e desfie com um garfo.
Leve uma frigideira ao fogo médio e regue com o azeite. Junte a cebola e refogue até ficar transparente. Junte o tomate e refogue por mais uns 5 minutos, mexendo bem.
Por último, adicione as azeitonas e o bacalhau. Misture, desligue o fogo e adicione os ovos cozidos. Reserve.
Escorra a água e passe as batatas ainda quentes pelo espremedor, na mesma panela.
Aqueça o leite e junte às batatas com a manteiga também. Tempere com sal. Diminua o fogo e mexa vigorosamente, até o purê começar a borbulhar.
Para a montagem, coloque o bacalhau em um refratário, cubra com o purê e polvilhe com a mussarela e a batata palha. Leve para assar até o queijo gratinar e sirva a seguir.