Escurre los garbanzos remojados, cúbrelos con el agua limpia y cuécelos a fuego medio entre 75 y 90 minutos, hasta que estén tiernos pero mantengan su forma. Retira la espuma que aparezca y reserva 500 ml del caldo.
Calienta el aceite en una olla amplia y cocina la cebolla a fuego medio durante 8 a 10 minutos, hasta que esté blanda y haya perdido su olor crudo sin quemarse. Añade el tomate y cocina 10 minutos más, hasta que reduzca y se vea concentrado.
Incorpora la harina al sofrito, mezcla bien y cocínala durante 2 minutos para eliminar el sabor a crudo. Vierte poco a poco 250 ml del caldo reservado mientras remueves, hasta obtener una salsa homogénea y ligeramente espesa.
Añade los garbanzos cocidos y mezcla con suavidad para no romperlos. Cocina todo a fuego bajo durante 10 minutos, hasta que la salsa se adhiera a las legumbres.
Machaca en un mortero los ajos, el perejil y las avellanas hasta formar una pasta rústica. Si está demasiado seca, incorpora una cucharada del caldo reservado.
Agrega la picada a la olla, mezcla y cocina 5 minutos más a fuego bajo. Prueba, ajusta la sal y añade un poco más de caldo si la salsa está demasiado espesa.
Apaga el fuego y deja reposar los garbanzos durante 5 minutos. Sírvelos calientes, con la salsa cubriendo los garbanzos y sin exceso de líquido en el plato.