1.Coza o bacalhau em pouca água e depois escorra-o aproveitando a água. Deixe arrefecer um pouco e desfie-o retirando as peles e as espinhas.
2.Descasque as batatas e corte-as em cubinhos. Frite-os (poucos de cada vez) em óleo quente. Escorra-os e tempere com sal e pimenta.
3.Corte as cebolas em rodelas muito finas e pique os alhos. Coloque-os numa frigideira e refogue-os no azeite sem deixar alourar.
4.O creme:Num tacinho leve ao lume a manteiga, quando quente junte a farinha mexendo sempre com uma colher. Adicione 2 chávenas da água do bacalhau, aos poucos e mexendo sempre para não gratinar. Depois junte o leite e as natas. Tempere com sal, pimenta e sumo de limão. Mexa até ferver.
5.Num tabuleiro disponha primeiro do bacalhau e depois o refogado das cebolas, misture estes dois e acerte a camada. Coloque as batatas fritas por cima do bacalhau (sem calcar).
6.Por fim, cubra o tabuleiro com o creme e rale o queijo directamente sobre o mesmo.
7.Leve ao forno a 250ºC até alourar e sirva.