Perugia a fost o așezare umbriană, dar apare pentru prima dată în istoria scrisă sub numele de Perusia, unul dintre cele douăsprezece orașe confederate ale Etruriei. A fost menționat pentru prima dată în relatarea lui Q. Fabius Pictor, folosită de Liviu, despre expediția desfășurată împotriva etruscilor de Fabius Maximus Rullianus în 310 sau 309 î.Hr. Atunci s-a convenit un indutiae (armistițiu) de treizeci de ani; cu toate acestea, în 295 î.Hr. Perusia a luat parte la cel de-al treilea război samnitean și a fost redusă, împreună cu Volsinii și Arretium (Arezzo), la căutarea păcii în anul următor.
În 216 și 205 î.Hr., Perugia a ajutat Roma în cel de-al doilea război punic. Nu se știe mare lucru până în 41-40 î.Hr. când Lucius Antonius (fratele lui Marc Antoniu) s-a refugiat acolo, în timpul războiului civil roman dintre Marc Antoniu și Octavian. O mare parte din Perugia antică a fost distrusă de Octavian (devenit ulterior împărat Augustus) după un asediu îndelungat, iar senatorii săi au fost trimiși la moarte. Un număr de gloanțe de plumb folosite de praștie au fost găsite în oraș și în jurul acestuia. Orașul a fost ars, ni se spune, cu excepția templelor lui Vulcan și Juno. Uriașele ziduri de terasă etrusce, firește, nu au avut de suferit deloc. Ulterior, orașul, cu tot cu teritoriul pe o milă de jur împrejur, a fost lăsat să fie ocupat de oricine venea. Trebuie să fi fost reconstruit aproape imediat, deoarece există mai multe baze de statui, inscripționate cu cuvintele "Augusto sacr(um) Perusia restituta". Cu toate acestea, orașul nu a devenit o colonie, până în 251-253 d.Hr., când a fost reinstalat ca Colonia Vibia Augusta Perusia, sub împăratul C. Vibius Trebonianus Gallus.
Perugia este abia menționată, cu excepția geografilor, până când a fost singurul oraș din Umbria care a rezistat lui Totila, care l-a capturat și a devastat orașul în 547, după un asediu îndelungat, aparent după ce garnizoana bizantină a orașului a fost evacuată. Negocierile cu forțele asediatoare au revenit episcopului orașului, Herculanus, ca reprezentant al orășenilor. Se spune că Totila ar fi ordonat ca episcopul să fie jupuit și decapitat. Sfântul Herculanus (Sant'Ercolano) a devenit mai târziu sfântul patron al orașului.
În perioada lombardă, se vorbește despre Perugia ca despre unul dintre principalele orașe din Tuscia. În secolul al IX-lea, cu acordul lui Carol cel Mare și al lui Ludovic cel Pios, a trecut sub papi; dar în secolul al XI-lea comuna sa se afirma, iar timp de multe secole orașul a continuat să ducă o viață independentă, războindu-se cu multe dintre ținuturile și orașele învecinate: Foligno, Assisi, Spoleto, Todi, Siena, Arezzo, etc. În 1186, Henric al VI-lea, Sfântul Împărat Roman, rex romanorum și viitor împărat, a acordat recunoaștere diplomatică guvernului consular al orașului; ulterior, Papa Inocențiu al III-lea, al cărui scop major era de a conferi demnitate statală domeniilor care se constituiseră în patrimoniul Sfântului Petru, a recunoscut valabilitatea declarației imperiale și a recunoscut practicile civice stabilite, având forță de lege.
În diferite ocazii, papii au găsit azil, din cauza conflictelor de la Roma, între zidurile sale, și a fost locul de întâlnire a cinci conclave (Papalitatea de la Perugia), printre care cele în care au fost aleși Honorius al III-lea (1216), Clement al IV-lea (1285), Celestin al V-lea (1294) și Clement al V-lea (1305); prezența papală a fost caracterizată de un regim de pace între rivalitățile interne. Dar Perugia nu s-a gândit doar să servească interesele papale și nu a acceptat niciodată suveranitatea papală: orașul obișnuia să exercite o jurisdicție asupra membrilor clerului. De asemenea, în 1282, Perugia a fost excomunicată din cauza unui nou conflict militar împotriva ghibelinilor, indiferent de o interdicție papală. Pe de altă parte, alături de grifonul de bronz din Perugia din secolul al XIII-lea, deasupra ușii Palazzo dei Priori se află, ca emblemă gherlenească, leul: Perugia a rămas loială în cea mai mare parte partidului guelf în luptele dintre guelfi și ghibelini. Cu toate acestea, această tendință dominantă a fost mai degrabă o strategie politică antigermanică și italiană. Prezența angevină în Italia părea să ofere o contrapondere la puterile papale: în 1319, Perugia l-a declarat pe Sfântul angevin Ludovic de Toulouse "Protector al suveranității orașului și al Palatului Prioriilor săi" și a așezat figura sa printre ceilalți sfinți protectori deasupra ușii bogate a Palatului Prioriilor. La jumătatea secolului al XIV-lea, Bartholus de Sassoferrato, care era un jurist renumit, a afirmat că Perugia nu depindea nici de sprijinul imperial, nici de cel papal. În 1347, în momentul nefericitei întreprinderi a lui Rienzi de a revigora Republica Romană, Perugia a trimis zece ambasadori pentru a-i aduce onoruri; și, atunci când mesagerii papali au încercat să o forțeze cu soldați străini sau să ceară contribuții, au întâmpinat o rezistență viguroasă, care a izbucnit într-un război deschis cu Papa Urban al V-lea în 1369; în 1370, partidul nobililor a ajuns la un acord semnând tratatul de la Bologna, iar Perugia a fost obligată să accepte un legat papal; cu toate acestea, vicarul general al Statelor Papale, Gérard du Puy, abate de Marmoutier și nepot al papei Grigore al IX-lea, a fost expulzat de o revoltă populară în 1375, iar fortificația sa de la Porta Sole a fost rasă de pe fața pământului.
În secolul al XIV-lea, pacea civică a fost constant tulburată de luptele dintre partidul care reprezenta poporul (Raspanti) și cel al nobililor (Beccherini). După asasinarea, în 1398, a lui Biordo Michelotti, care se făcuse stăpân de Perugia, orașul a devenit un pion în Războaiele Italiene, trecând pe mâna lui Gian Galeazzo Visconti (1400), a Papei Bonifaciu al IX-lea (1403) și a lui Ladislau de Napoli (1408-14), înainte de a se instala într-o perioadă de bună guvernare sub Signoria condottiero Braccio da Montone (1416-24), care a ajuns la o concordanță cu papalitatea. În urma atrocităților reciproce ale familiilor Oddi și Baglioni, puterea a fost în cele din urmă concentrată în familia Baglioni, care, deși nu avea o poziție legală, a sfidat orice altă autoritate, deși disputele lor interne sângeroase au culminat cu un masacru, la 14 iulie 1500. Gian Paolo Baglioni a fost ademenit la Roma în 1520 și decapitat de Leon al X-lea; iar în 1540 Rodolfo, care a ucis un legat papal, a fost învins de Pier Luigi Farnese, iar orașul, capturat și jefuit de soldații săi, a fost privat de privilegiile sale. A fost construită o cetate cunoscută sub numele de Rocca Paolina, după numele Papei Paul al III-lea (în italiană: Paolo), după planurile lui Antonio da Sangallo cel Tânăr "ad coercendam Perusinorum audaciam".
În 1797, orașul a fost cucerit de trupele franceze. La 4 februarie 1798, a fost formată Republica Tiberina, cu Perugia drept capitală și cu tricolorul francez drept drapel. În 1799, Republica Tiberina a fuzionat cu Republica Romană.
În 1832, 1838 și 1854, Perugia a fost lovită de cutremure. În urma prăbușirii republicii romane din 1848-49, când Rocca a fost în parte demolată, a fost confiscată în mai 1849 de austrieci. În iunie 1859, populația s-a revoltat împotriva autorității temporale a Papei și a instituit un guvern provizoriu, dar insurecția a fost înăbușită sângeros de trupele lui Pius al IX-lea. În septembrie 1860, orașul a fost unit definitiv, împreună cu restul regiunii Umbria, ca parte a Regatului Italiei.