Colocar o bacalhau a cozer numa panela com água durante 10 minutos. Depois de cozido, retirar o bacalhau para um prato e deixe arrefecer. Reservar 275 ml da água da cozedura.
Limpar o bacalhau de peles e de espinhas e lascar. Num tacho, levar ao lume a margarina e deixar aquecer. Juntar a farinha e mexer muito bem.
Mexendo sempre, juntar aos poucos a água de cozer o bacalhau, os 275 ml de leite e quando começar a engrossar juntar as natas. Tempere com sal, pimenta e noz-moscada. Logo que começar a borbulhar, apagar o lume.
Num recipiente, colocar o pão e regar com bastante leite e deixar demolhar. Num tacho, levar ao lume o azeite, a cebola, os alhos e deixar refogar sem deixar queimar.
A meio do refogado, juntar a cenoura e deixe refogar tudo. Juntar o bacalhau, mexer e deixar cozinhar 5 minutos. Espremer ligeiramente o pão para retirar o excesso de leite e desfazer para dentro do tacho. Mexer muito bem. Juntar metade do molho preparado anteriormente, mexer e rectificar os temperos.
Logo que começar a borbulhar, apagar o lume. Untar um tabuleiro de ir ao forno com azeite. Espalhar no fundo o bacalhau. Por cima, espalhar bem o restante molho. Polvilhar com queijo.
Levar ao forno pré-aquecido nos 200º e deixar gratinar cerca de 15/20 minutos. Servir acompanhado com uma salada