Cozinhe o bacalhau. Deixe esfriar e desfie em lascas grandes.
Em uma vasilha pique o pão e regue com o leite. Deixe de molho por uns minutos. Depois amasse o pão com o leite fazendo um purê de pão. Reserve.
Passe as batatas e as cenouras no espremedor fazendo um purê. Reserve.
Numa vasilha misture com um garfo o creme de leite como requeijão. Reserve.
Ligue o forno para preaquecer.
Em uma panela grande coloque a cebola com o azeite e a margarina e doure.
Acrescente os purês de batata e de cenoura e misture bem.
Coloque o purê de pão e a noz moscada e misture novamente até que fique tudo bem encorpado.
Acrescente metade do bacalhau e misture. Desligue o fogo e acerte o sal.
Em um pirex coloque metade da massa de purês, cubra com o restante do bacalhau e por cima coloque o restante da massa.
Cubra tudo com a mistura de queijo e creme de leite e polvilhe com o parmesão ralado. Leve ao forno, 200° C, até dourar (aqui em casa levou 45 minutos).