Coza as postas de bacalhau em água fervente por cinco minutos e deixe arrefecer dentro do caldo.
À parte, coza as batatas com a pele em água temperada com sal durante cerca de 35 minutos.
Escorra, retire a pele e reduza-as a puré. Envolva o puré com o leite e as gemas.
Tempere com sal, pimenta e noz-moscada. Refogue as cebola e os alhos picados no azeite. Junte o bacalhau lascado e envolva até este se desfazer totalmente. Junte cerca de 1 dl de água da cozedura do bacalhau.
Ferva até o líquido evaporar e acrescente a salsa finamente picada e o puré. Envolva tudo e verta para um recipiente refractário. Polvilhe com pão ralado e o queijo e leve a gratinar por 25 minutos, a 200º C.