Coloque as batatas para cozinhar até que fiquem macias.
Escorra a água e amasse bem as batatas (ou use um espremedor).
Coloque em uma panela e leve ao fogo, adicione a manteiga e mexa até que ela derreta.
Adicione o leite aos poucos, até que vire um purê.
Ainda no fogo, coloque o catupiry e mexa bem ate que fique homogêneo.
A massa não fica muito consistente.
Em um refratário médio, coloque o purê (pode envolver todo o refratário e colocar o recheio no meio e depois cobrir, ou pode fazer em camadas com o recheio).
Coloque em uma frigideira o azeite e a cebola picada.
Depois da cebola dourada coloque o bacalhau até que dore um pouco.
Não coloque o tomate antes do bacalhau, senão o bacalhau não fritará.
Coloque o tomate ate que murche.
Coloque o recheio entre camadas da massa ou no meio e coberta pela massa.
Garanta que a ultima camada será de massa.
Polvilhe com queijo ralado a gosto ou com pinceladas de gema.
Leve ao forno por 10 minutos, ou até gratinar.