Demolhe as fatias de presunto em água. Retire a pele às postas de bacalhau, corte-as ao meio transversalmente e recheie-as com as fatias de presunto escorridas. Coloque-as num tabuleiro de louça untado com um pouco de azeite.
Pele o tomate, retire-lhe as sementes e pique-o. Descasque as cebolas e o alho, corte as cebolas em meias luas finas e pique o alho. Leve uma frigideira ao lume com a margarina, deixe aquecer, junte a cebola e o alho, tape e deixe refogar durante 8 minutos, mexendo de vez em quando. Deite a cebola e o alho sobre o bacalhau.
Adicione a folha de louro à mesma frigideira com a margarina, junte também o tomate picado, o vinho do porto e a farinha diluída no vinho branco, mexa e deixe cozinhar, em lume brando, durante 2 minutos. Tempere com sal e pimenta e deite também sobre o bacalhau.
Ligue o forno a 180 graus. Deite o puré de batata num saco de pasteleiro com boquilha frisada e coloque à volta do bacalhau em montinhos. Pincele o puré com a gema batida e leve ao forno durante cerca de 30 minutos ou até o bacalhau ficar cozinhado e o puré ligeiramente tostado. Retire do forno e sirva polvilhado com a salsa picada.