The original Romanesque building was oriented the opposite way to the present church, as is shown by remains of the apse discovered under the current parvise.
In the 15th century the church was expanded and the entrance moved to the present position, while the open roof was covered by a groin vaulted ceiling.
It is made of white stone from Saltrio and Viggiù and of Carrara marble, and is divided in three sectors by four false columns supporting the entablature.
Between the portal's frame and the entablature are two angels carrying torches, resembling the decoration of the Roman triumphal arches.
The two upper storey are in the Baroque style with an octagonal lantern covered by a cupola, designed by Costante Tencalla.