En una sartén grande, ponemos a calentar el aceite de oliva y le añadimos la cebolla y los dientes de ajos picados. Rehogamos y cuando estén dorados, añadimos el tomate troceado. Seguimos rehogando unos minutos más y agregamos el bacalao.
Removemos para que se haga bien y echamos los garbanzos, el arroz y un poco de pimentón. Dejamos un minuto cuidando de que no se queme el pimentón y ponemos el caldo ( doble cantidad que de arroz, quizás un poco más), las espinacas y el azafrán.
Cocinamos a temperatura suave hasta que el arroz esté en su punto. Rectificamos de sal y agregamos el perejil, un poco de pimienta y espolvoreamos con huevo duro picado.