Coza o bacalhau em água a ferver durante uns 10 minutos. Retire a pele e as espinhas ao bacalhau.
Num outro tacho, coza os grelos em água temperada com sal. Retire e escorra.
Esfarele a broa para um recipiente, junte-lhe um alho e a salsa picados. Reserve.
Aloure as cebolas em rodelas e 3 dentes de alho em rodelas no azeite quente. Retire e reserve.
No mesmo azeite, aloure 1 dente de alho picado e junte os grelos cozidos, envolvendo bem.
Retire e coloque num tabuleiro de ir ao forno. Coloque o bacalhau lascado por cima dos grelos e de seguida a cebola.
Espalhe a broa por cima e regue com um pouco de azeite. Coloque as batatas a murro à volta e leve ao forno a 180ºC durante 15 a 20 minutos ou até a broa estar dourada.