La chiesa ha un impianto basilicale triabsidato articolato in tre navate, di tre campate ciascuna, coperte da volte a crociera rette da pilastri di tipo romanico non perfettamente allineati. Il transetto all’incrocio presenta una cupola con tiburio ottagono, percorso all’esterno da una serie di arcatelle cieche e sovrastato da un cupolino. La zona presbiteriale è sopraelevata, al di sotto corre la cripta.
La facciata ripartita da quattro paraste, è stata trasformata a capanna nel novecento.
Al di sopra del portale molto semplice sormontato da una lunetta si aprono una trifora centrale e due monofore laterali. Più in alto ancora tre aperture: una centrale a croce greca e due oculi laterali. Nella fascia superiore corre una loggetta cieca.
XII – Risulta difficile stabilire una cronologia esatta delle vicende costruttive a causa del materiale limitato esistente. La chiesa fu edificata nella seconda metà del XII secolo sulla preesistente chiesa altomedievale di Sant’Agnese. Venne realizzata in forme romaniche per contenere le spoglie di San Teodoro.
XVI – A metà del XVI secolo venne aggiunto il campanile ed il lanternino sormontante la cupola e all’interno delle arcate trasversali di rinforzo.
XVII – Alla fine del XVII secolo ci furono interventi di rifacimento barocco dell’arredo nella zona del presbiterio e all’inizio del XVIII ci furono interventi di consolidamento alla cripta.
1887 – Tra il 1887 e il 1909 furono realizzati interventi di consolidamento dell’intera struttura ed un restauro globale inteso a sottrarre le aggiunte cinquecentesche e barocche per riportare l’edificio ad una presunta omogeneità originaria.
1996 – Nel 1998 durante il rifacimento della pavimentazione è stato rinvenuto un importante mosaico.
2011 – E’ stato svolto un intervento di restauro conservativo della volta del transetto sud.