Deixe o bacalhau de molho de véspera, trocando a água.
Na última água descasque as batatas e cozinhe com esta, depois de cozida reserve as batatas e a água.
Em uma panela coloque a cebola para dourar com o azeite e coloque o bacalhau já cortado em lascas.
Refogue bastante para que não grude na panela, coloque os tomates, azeitona, colorau e deixe que ferva, pois a quantidade de azeite dará o sabor e toque no prato.
Misture o restante da água que cozinhou as batatas com o leite, a maizena, a noz-moscada, sal se for necessário.
Leve ao fogo mexendo sempre até engrossar.
Deixe cozinhar bastante e reserve.
Não deixe endurecer muito nem ficar ralo.
Amasse as batatas cozidas na água do bacalhau com um pouco de margarina, um pouquinho de queijo ralado leve ao fogo brando.
Retire do fogo e misture a lata de creme de leite.
Em uma forma refratária coloque o bacalhau que foi preparado com bastante azeite, por cima deste o molho branco, por cima o catupiry e finalize com o purê de batatas.
Salpique o queijo ralado misturado com a farinha de trigo.
Leve ao forno por no máximo 1 hora, forno brando, ou até que toda a parte de cima esteja envolvida e bem consistente com o azeite.
Sirva com arroz branco.