Ligar o forno e regular nos 200º. Cobrir o bacalhau com leite, levar ao lume e deixar ferver uns 10 minutos.
Entretanto, descascar e cortar as cebolas e os dentes de alho em rodelas finas, e levar a refogar na margarina, em lume brando.
Enquanto a cebola está ao lume, cortar o alho francês em rodelas finas, e juntar à cebola.
Ralar as cenouras em fios e adicionar aos legumes. Tapar e deixar estufar uns 5 minutos. Juntar os cogumelos, escorridos, e deixar mais 5 minutos.
Temperar com sal e pimenta. Escorrer o bacalhau e aproveitar o leite para fazer o puré de batata.
Preparar o puré e separar o bacalhar em lacas grandes. Untar com manteiga um pirex que possa ir ao forno e colocar o puré a toda a volta, deixando um espaço ao centro.
Colocar nesse espaço os legumes e, sobre estes, o bacalhau. Espalhar a maionese sobre o bacalhau e levar ao forno a gratinar.