Descasque as batatas, pique-as em pedaços grandes e leve ao fogo em uma panela com água até que fiquem bem moles. Em seguida, tire-as da água, amasse as batatas com um garfo ou aparelho próprio formando um purê.
Em uma panela, coloque a cebola, o alho, a manteiga e deixe dourar. Adicione o purê de batatas, mexa até misturar bem e coloque o creme de leite, mexendo até desprender do fundo da panela. Coloque o sal, salsinha e cebolinha e mexa para misturar bem, reserve.
Em outra panela, coloque a cebola, o azeite, os pimentões, o tomate e espere murchar. Adicione a água e o bacalhau misturando bem os temperos no bacalhau. Coloque os caldos e o sal e deixe em fogo baixo até que o tempero esteja bem incorporado ao bacalhau. Mexendo sempre, reserve
Em um refratário, coloque metade do purê e, por cima, o molho de bacalhau todo e por cima deste, coloque o queijo e em seguida a outra metade do purê, finalizando com mais queijo.
Levar em forno preaquecido a 180ºC por 10 minutos até que o queijo derreta.