Com o bacalhau já de molho por um dia, coloque-o em uma panela com água e fervente por 10 minutos.
Em uma panela, doure metade da cebola no azeite, coloque os tomates, o bacalhau e depois os temperos a gosto. Reserve.
Para o purê, doure ¼ da cebola em 1 colher de margarina, coloque a batata (cozida, amassada com sal) e depois 300 ml de leite. Mexa até soltar da panela e reserve.
Para molho, em uma panela doure o que sobrou da cebola picada em uma colher de manteiga, coloque 700 ml de leite e o amido.
Mexa até engrossar, jogue o creme de leite e desligue o fogo.
Em um refratário grande, coloque em seqüência: o purê, o bacalhau e o molho. Leve para gratinar no forno médio, por 15 minutos.