Coza as batatas em água com sal até ficarem macias. Escorra bem.
Esmague as batatas ainda quentes com o leite e a manteiga, temperando com sal, pimenta e noz-moscada. Reserve.
Numa frigideira, refogue a cebola e o alho em azeite até ficarem translúcidos.
Junte o tomate picado e deixe cozinhar até reduzir ligeiramente.
Adicione o peixe desfiado ao refogado, tempere com sal e pimenta e envolva bem. Junte a salsa picada e retire do lume.
Num tabuleiro de forno, coloque o recheio de peixe numa camada uniforme.
Cubra com o puré de batata, alisando a superfície com um garfo para criar textura.
Leve ao forno pré-aquecido a 200ºC durante cerca de 20-25 minutos, até a superfície dourar.