Šv. Onos bažnyčia prie Bernardinų vienuolyno pastatyta 1495–1500 m. Jai 1501 m. popiežius Aleksandras VI paskelbė atlaidus. Dailės istoriko D. Kačmažiko teigimu, bažnyčią projektavo ir statė Mykolas Enkingeris. 1560 ir 1564 m. bažnyčia degė. Iki 1582 m. rekonstruota dvaro arkivyskupo Dimitrijaus Solikovskio, Vilniaus vaivados Mikalojaus Radvilos ir kardinolo Jurgio Radvilos lėšomis, 1610 m. nukentėjo nuo gaisro. 1613 m. prie presbiterijos šiaurinės pusės pastatyta zakristija. Per karą 1655 m. nuniokota. Po jo nutinkuotas ir išbaltintas bažnyčios vidus, pastatyti barokiniai altoriai.
1747 m. bažnyčia remontuota (vadovavo architektas Jonas Kristupas Glaubicas). 1762 m. nugriautas pietinio fasado prieangis, užmūrytos pagrindinio portalo šoninės arkos. 1794 m., per Vilniaus apšaudymą, bažnyčia apdegė, sienose atsirado plyšių. Apie 1800 m. architektas Mykolas Angelas Šulcas ją restauravo, nutinkavo, o 1802 m. prieš bažnyčią pastatė 3 tarpsnių varpinę. 1812 m. bažnyčia paversta karo sandėliu, medinis inventorius sudegintas, altoriai sudaužyti. Ji suremontuota tik 1824 m.
XIX a. pabaigoje nusėdo bažnyčios pamatai, sutrūkinėjo ir pasviro sienos. Kanauninko Jono Laboko rūpesčiu pagal architekto Juzefo Pijušo Dziekonskio ir inžinieriaus Aleksandro Antonovičiaus projektą 1902–1909 m. bažnyčia restauruota. 1925 m. įkurta parapija. 1960–1970 m. pagal inžinierės Janinos Bartkienės projektą sutvirtinti yrantys bokštai.