La facciata a capanna, in laterizio, è divisa verticalmente in tre parti, scandite da quattro massicci contrafforti recanti nelle parti terminali la disposizione a risega dei mattoni. Superiormente la facciata è ornata da una loggetta cieca, coronata da un motivo ad archetti pensili intrecciati, comune a quella delle altre basiliche romaniche pavesi.
Sul vertice supremo spicca una “scodella” di ceramica con la figura di un uccello. Questi bacini ceramici decorati sono di provenienza orientale e sono inseriti in abbondanza nella facciata. Il portale presenta una decorazione in arenaria con motivi di vite intrecciata con foglie, uccelli, draghi e quadrupedi. Sopra il portale decorato da rilievi in arenaria, si aprono un’elegante bifora con colonnina anch’essa in arenaria e una finestra cruciforme, affiancata da due oculi. L’edificio porta i segni di manomissioni, trasformazioni e restauri, pur dichiarando le forme romaniche del seconda metà del XII secolo. Sotto il pavimento rivela il profilo di una chiesa precedente più piccola.
L’interno è diviso in tre navate concluse da tre absidi e scandite da pilastri a sezione cruciforme, impostate su piattaforme quadrate conformi a quelle della chiesa di San Teodoro. La navata mediana è a tre campate quasi quadrate cui ne corrispondono in quelle minori altrettante rettangolari, coperte da volte a crociera, che poggiano alle estremità su pilastri a sezione semicruciforme. ll transetto è riconoscibile solo in alzato e l’incrocio sembra piuttosto una quarta campata della navata maggiore. Il transetto non aggettante rispetto al perimetro rettangolare della chiesa, è coperto da volte a botte. All’incrocio si osserva la cupola ottagona, mascherata esternamente dal tradizionale tiburio con relativa loggetta cieca. L’abside maggiore è preceduto da un breve spazio voltato a botte, le due absidi minori si innestano direttamente nei bracci del transetto.
XI – Sotto il pavimento la chiesa rivela tracce di una chiesa precedente più piccola.
1150 – L’edificio nonostante porti i segni di numerose manomissioni e restauri, dichiara ancora le forme originali romaniche della seconda metà del XII secolo.
1576 – Il campanile venne innalzato dopo il 1576 al di sopra di un’aula quadrata.
1700 – Nel settecento l’abside maggiore è demolita per far posto ad un ampio coro quadrato. Fu ricostruita dall’architetto Emilio Carlo Aschieri che cercò di recuperare il muro di fondazione curvilineo rimasto sepolto sotto il pavimento settecentesco. Inoltre vengono ripristinate anche le due absidi che affiancano il presbiterio.
1739 – Nel 1739 la chiesa subisce una radicale trasformazione, ampliate e ridisegnate le finestre, regolarizzati i sostegni e aggiunti capitelli in stucco.
1800 – I restauratori Savoldi e Aschieri rimossero l’intervento settecentesco.
1850 – Nella seconda metà dell’ottocento erano state aperte nelle pareti laterali tipiche cappelle estradossate. Nel 1952 le cappelle sono state abbattute, al loro posto è stato lasciato il muro perimetrale allo stato rustico.
2001 – Con i contributi Cei è stato realizzato il restauro e consolidamento statico dell’edificio.