Pirmoji bažnyčia pastatyta tarp 1431–1500 m., 1594 m. sudegė. 1609–1616 m. suręsta nauja, medinė bažnyčia. Prie jos buvo prieglauda. Mirus bažnyčios statytojui klebonui Petrui Korkonosui, vyskupas Eustachijus Valavičius 1625 m. iš Krokuvos pasikvietė Laterano kanauninkų vienuolius ir jiems paskyrė bažnyčią. Per karą 1655 m. beveik visai sugriauta.
Pagal lenkų architekto Jano Zaoro projektą Mykolo Kazimiero Paco lėšomis 1668 m. pradėta statyti dabartinė mūrinė bažnyčia (13 metų Vilniaus okupacijai atminti, kai miestą buvo užėmę rusai; kertinis akmuo padėtas birželio 29 dieną). Statybą organizavo ir medžiagomis rūpinosi kanauninkų vienuolyno viršininkas B. Šamotulskis. 1669–1671 m. statybai vadovavo J. Zaoras, nuo 1672 m. – italų architektas Džambatista Fredianis. Iki 1674 m. išmūrytos sienos, 1674–1675 m. – skliautai, kupolas, bokštai. 1677–1682 m. pastatytas vienuolynas. XVII a. pabaigoje išmūryta šventoriaus tvora ir aštuoniakampės koplyčios.
1671 m. pradėta bažnyčios fasado, 1677 m. – vidaus apdaila. Ją atliko italų baroko meistrai Pjetras Pertis ir Džovanis Maria Galis. 1682 m. mirus M. K. Pacui, apdailos darbai sustojo. 1701 m. bažnyčia beveik užbaigta, trūko tik didžiojo altoriaus. 1801–1804 m. restauruotos skulptūros, sukurta laivo formos sakykla ir 2 šoniniai altorėliai.
1805 m. įrengtas didysis altorius su dailininko Pranciškaus Smuglevičiaus paveikslu „Šv. Petro ir Povilo atsisveikinimas". Rusijos valdžia 1864 m. vienuolyną uždarė. Vilniaus gubernatorius 1868 m. pasiūlė bažnyčią uždaryti ir joje įrengti cerkvę. Architektas Ivanas Levickis 1869 m. parengė bažnyčios pertvarkymo projektą (sąmatinė vertė 16 554 rb). Generalgubernatorius nesutiko skirti tiek pinigų, bažnyčia liko katalikams. Ji 1870–1878 ir 1901–1903 m. restauruota.
1915 m. karo pabėgėliams leistos lietuviškos pamaldos. 1942 m. bažnyčia apgriauta. 1944–1946 m. atstatytas kupolas. 1949–1963 m. klebonavęs Mykolas Tarvydas 1954 m. perdengė stogą. 1953–1989 m. bažnyčioje buvo laikomas karstas su Šv. Kazimiero palaikais. 1968 m. įrengtas šildymas, 1969–1974 m. rekonstruota bažnyčios išorė, 1976–1984 m. restauruotas vidus.