Il primo documento in cui viene menzionata la chiesa, collocata tra il duomo e il tracciato del decumano romano (oggi via Santa Croce), è dell’894, ma l’edificio attuale è frutto di una ricostruzione attuata nel corso del Duecento: in quegli anni la chiesa venne rifatta in laterizio, riservando l’uso della pietra solo alla facciata, in arenaria con listature in calcare bianco e semplice portale con arco rialzato. Elementi decorativi scolpiti provenienti dalla chiesa precedente vennero allora murati nella parte absidale dell’edificio: si tratta di tre frammenti di pilastrino in calcare bianco con decorazione astratto-geometrica realizzati tra l’VIII e il IX secolo. I motivi decorativi del rilievo, poco pronunciato e circondato da piatte listature, sono dischi crociati e tralci cuoriformi.
Sempre nella parte absidale, al di sotto della cornice di coronamento, sono inseriti bacini ceramici riconducibili alla produzione ligure del XIII secolo.
L’interno della chiesa, a navata unica con volta a botte, è il frutto di un radicale intervento di ristrutturazione operato nei primi anni dell’Ottocento: nel 1822 infatti Stefano Cheli annullò completamente l’assetto medievale e quello seicentesco (risalente all’epoca in cui la chiesa era divenuta sede della confraternita di Sant’Onofrio) e in quell’occasione vennero probabilemnte realizzati anche i quadri dell’altare maggiore (I santi Anna e Gioacchino con Maria bambina) e dell’altare di sinistra (San Gerolamo e san Giuseppe); sull’altare di destra è invece collocata una tela con Madonna in gloria tra i santi Benedetto e Margherita opera di Benedetto Brandimarte, pittore lucchese attivo tra la fine del Cinquecento e l’inizio del Seicento.
Nel pavimento della chiesa si può osservare una tomba terragna trecentesca di bambina forse appartenente alla famiglia degli Antelminelli.
Dal 1817 la chiesa è sede dell’antica Confraternita dei Legnaioli.