Cortar el bacalao en trozos y dejarlos en remojo durante 36 horas, cambiando el agua cada 8 (es importante que el agua esté muy fría). Poner las pasas en un cuenco con agua templada. Pelar y picar la cebolla. Lavar los tomates, partirlos por la mitad y rallarlos. Calentar 3 cucharadas de aceite en una sartén y rehogar la cebolla 7 u 8 minutos. Añadir el tomate, sazonar y sofreír 8 minutos más.
Dorar el ajo pelado en una cucharada de aceite, retirarlo y machacarlo con las almendras y las hojas de perejil lavadas. Añadir el majado al sofrito, con los piñones y las pasas escurridas, y dejar que tome sabor unos minutos.
Escurrir el bacalao, desescamarlo y retirar las espinas. Secarlo y enharinarlo. Calentar un fondo de aceite en una sartén e incorporarlo, con la piel hacia arriba. Freírlo 3 ó 4 minutos por cada lado.
Retirarlo con una espumadera y dejar que escurra el exceso de aceite sobre un papel de cocina. Repartir el sofrito caliente en los platos y disponer encima el bacalao. Servir.