Perugia was een Umbrische nederzetting maar verschijnt voor het eerst in de geschreven geschiedenis als Perusia, een van de twaalf confederale steden van Etrurië. Het werd voor het eerst genoemd in het verslag van Q. Fabius Pictor, gebruikt door Livy, van de expeditie die Fabius Maximus Rullianus in 310 of 309 voor Christus tegen de Etrusken uitvoerde. In die tijd werd een dertig jaar durende indutiae (wapenstilstand) overeengekomen; in 295 v.Chr. nam Perusia echter deel aan de Derde Samnietenoorlog en werd met Volsinii en Arretium (Arezzo) gereduceerd om in het volgende jaar de vrede te zoeken.
In 216 en 205 voor Christus hielp Perugia Rome in de Tweede Punische oorlog. Er is weinig anders bekend tot 41-40 voor Christus, toen Lucius Antonius (broer van Marcus Antonius) daar zijn toevlucht nam tot de Romeinse burgeroorlog tussen Marcus Antonius en Octavianus. Veel van het oude Perugia werd door Octavianus (later keizer Augustus) na een lange belegering vernietigd en de senatoren werden naar hun dood gestuurd. Een aantal loden kogels die door slingers werden gebruikt, zijn in en rond de stad gevonden. De stad werd verbrand, zo wordt ons verteld, met uitzondering van de tempels van Vulcanus en Juno. De enorme Etruskische terrasmuren kunnen natuurlijk nauwelijks geleden hebben. Daarna mocht de stad, met het grondgebied voor een mijl rond, bezet worden door wie dan ook. Het moet bijna in één keer zijn herbouwd, want er bestaan verschillende beeldbases met de woorden "Augusto sacr(um) Perusia restituta". De stad werd echter pas in 251-253 n.Chr. een colonia, toen het werd hervestigd als Colonia Vibia Augusta Perusia, onder de keizer C. Vibius Trebonianus Gallus.
Perugia wordt nauwelijks genoemd, behalve door de geografen, totdat het de enige stad in Umbrië was die zich tegen Totila verzette, die het veroverde en het stadsafval in 547 legde, na een lange belegering, blijkbaar nadat het Byzantijnse garnizoen van de stad was geëvacueerd. De onderhandelingen met de belegeringstroepen werden gevoerd door de bisschop van de stad, Herculanus, als vertegenwoordiger van de stadsbewoners. Totila zou de bisschop hebben bevolen om gevild en onthoofd te worden. Herculanus (Sant'Ercolano) werd later de beschermheilige van de stad.
In de Lombardische periode wordt Perugia als een van de belangrijkste steden van Tuscia genoemd. In de 9e eeuw, met toestemming van Karel de Grote en Lodewijk de Vrome, ging het onder de pausen door; maar in de 11e eeuw liet de gemeente zich gelden, en gedurende vele eeuwen bleef de stad een zelfstandig leven leiden, waarbij ze oorlog voerde tegen veel van de naburige landen en steden: Foligno, Assisi, Spoleto, Todi, Siena, Arezzo, enz. In 1186 verleende Hendrik VI, de Heilige Roomse keizer, rex romanorum en toekomstige keizer, diplomatieke erkenning aan de consulaire regering van de stad; daarna erkende paus Innocentius III, die als voornaamste doel had de heerschappijen die het patrimonium van Sint-Pieter vormden, staatswaardigheid te geven, de geldigheid van de keizerlijke verklaring en erkende de gevestigde burgerlijke praktijken die de kracht van de wet hadden.
Bij verschillende gelegenheden vonden de pausen, vanuit de conflicten in Rome, asiel binnen de muren en was het de ontmoetingsplaats van vijf conclaven (Paus Perugia), waaronder die welke Honorius III (1216), Clement IV (1285), Celestine V (1294) en Clement V (1305) verkozen; de pauselijke aanwezigheid werd gekenmerkt door een regel van vredestijd tussen de interne rivaliteiten. Maar Perugia had geen zin om alleen maar de pauselijke belangen te dienen en aanvaardde nooit de pauselijke soevereiniteit: de stad oefende vroeger een jurisdictie uit over de leden van de clerus. Ook werd Perugia in 1282 geëxcommuniceerd vanwege een nieuw militair conflict tegen de Ghibellijnen, ongeacht een pauselijk verbod. Aan de andere kant staat naast de 13de-eeuwse bronzen griffioen van Perugia, boven de deur van het Palazzo dei Priori, als een Guelfisch embleem, de leeuw: Perugia bleef voor het grootste deel trouw aan de Welfenpartij in de strijd van de Welfen en de Ghibellijnen. Deze dominante tendens was echter eerder een anti-Germaanse en Italiaanse politieke strategie. De aanwezigheid van Angevin in Italië bleek een tegenwicht te bieden aan de pauselijke macht: in 1319 verklaarde Perugia de Angevin Saint Louis van Toulouse tot "Beschermer van de soevereiniteit van de stad en van het Palazzo van de Priors" en plaatste zijn figuur tussen de andere beschermheiligen boven de rijke deuropening van het Palazzo dei Priori. In de helft van de 14e eeuw beweerde Bartholus van Sassoferrato, een gerenommeerd jurist, dat Perugia niet afhankelijk was van keizerlijke of pauselijke steun. In 1347, ten tijde van Rienzi's onfortuinlijke onderneming om de Romeinse Republiek nieuw leven in te blazen, stuurde Perugia tien ambassadeurs om hem te eren; en toen pauselijke boodschappers het probeerden te forceren door buitenlandse soldaten, of om exacte bijdragen te leveren, stuitten ze op hevig verzet, dat in 1369 brak in een openlijke oorlogsvoering met paus Urbanus V; in 1370 bereikte de adellijke partij een akkoord door het verdrag van Bologna te ondertekenen en Perugia werd gedwongen een pauselijk legaat te aanvaarden; maar de vicaris-generaal van de pauselijke staten, Gérard du Puy, abt van Marmoutier en neef van paus Gregorius IX, werd in 1375 door een volksopstand verdreven en zijn vestingwerk van Porta Sole werd met de grond gelijk gemaakt.
De burgervrede werd in de 14e eeuw voortdurend verstoord door de strijd tussen de partij die het volk (Raspanti) en de edelen (Beccherini) vertegenwoordigt. Na de moord in 1398 op Biordo Michelotti, die zich tot heer van Perugia had gemaakt, werd de stad een pion in de Italiaanse oorlogen en ging ze over naar Gian Galeazzo Visconti (1400), naar Paus Bonifatius IX (1403) en naar Ladislas van Napels (1408-14) voordat ze zich vestigde in een periode van goed bestuur onder de Signoria van de condottiero Braccio da Montone (1416-24), die een concordantie met het pausdom bereikte. Na de wederzijdse wreedheden van de Oddi en de Baglioni-families werd de macht eindelijk geconcentreerd in de Baglioni, die, hoewel ze geen juridische positie hadden, alle andere gezagsdragers trotseerden, hoewel hun bloedige interne ruzies uitmondden in een bloedbad, 14 juli 1500. Gian Paolo Baglioni werd in 1520 naar Rome gelokt en onthoofd door Leo X; en in 1540 werd Rodolfo, die een pauselijk legaat had gedood, verslagen door Pier Luigi Farnese, en de stad, gevangen genomen en geplunderd door zijn soldaatschap, werd beroofd van haar privileges. Een citadel die bekend staat als de Rocca Paolina, naar de naam van paus Paulus III (Italiaans: Paolo), werd gebouwd naar de ontwerpen van Antonio da Sangallo de Jongere "ad coercendam Perusinorum audaciam".
In 1797 werd de stad veroverd door Franse troepen. Op 4 februari 1798 werd de Tiberina Republiek gevormd, met Perugia als hoofdstad en de Franse driekleur als vlag. In 1799 fuseerde de Tiberina Republiek met de Romeinse Republiek.
In 1832, 1838 en 1854 werd Perugia getroffen door aardbevingen. Na de ineenstorting van de Romeinse republiek in 1848-49, toen de Rocca gedeeltelijk werd afgebroken, werd het in mei 1849 door de Oostenrijkers in beslag genomen. In juni 1859 kwam het volk in opstand tegen het tijdelijke gezag van de paus en stelde een voorlopige regering in, maar de opstand werd bloedig neergeslagen door de troepen van Pius IX. In september 1860 werd de stad eindelijk verenigd, samen met de rest van Umbrië, als onderdeel van het Koninkrijk Italië.