Gli archeologi hanno dimostrato che l'area di Leopoli fu abitata nel V secolo. La città fu fondata dal re Daniele di Galizia nel principato ruteno di Halych-Volhynia e prese il nome da suo figlio Lev. Nel 1261 la città fu invasa dai Tartari, per ordine del generale mongolo Burundai. Dopo la morte di Daniele, il re Leone ricostruì la città intorno al 1270 nella posizione attuale. La città crebbe rapidamente grazie all'afflusso di polacchi da Cracovia. La città fu ereditata dal Granducato di Lituania nel 1340 e fu governata dal voivoda Dmitri Detko fino al 1349. Durante le guerre per la successione del Principato di Galizia-Volinia, il re Casimiro III di Polonia guidò una spedizione e conquistò Leopoli nel 1340. Alla fine la Polonia ottenne il controllo sulla città e sulla regione adiacente nel 1349.
Nel 1444 Leopoli ottenne il diritto di base, con conseguente crescente prosperità e ricchezza della città. Il XVII secolo portò alle sue porte eserciti invasori di svedesi, ungheresi, turchi, russi e cosacchi e nel 1672 fu circondata dagli Ottomani, che però non riuscirono a conquistarla. Leopoli fu catturata per la prima volta da un esercito straniero nel 1704 dalle truppe svedesi guidate dal re Carlo XII.
Nel 1772, in seguito alla prima spartizione della Polonia, la regione fu annessa all'Austria. Dopo il cosiddetto Ausgleich del febbraio 1867, l'Impero austriaco fu riformato in un'Austria-Ungheria dualista ed era iniziato un lento ma costante processo di liberalizzazione del dominio austriaco in Galizia. Dal 1873 la Galizia era di fatto una provincia autonoma dell'Austria-Ungheria con il polacco e l'ucraino come lingue ufficiali. La germanizzazione fu quindi fermata e anche la censura fu tolta.
La città iniziò a crescere rapidamente e alla fine divenne la quarta più grande dell'Austria-Ungheria. Nella fase iniziale della prima guerra mondiale, fu catturata dall'esercito russo nel settembre 1914, ma poi riconquistata dall'Austria-Ungheria nel giugno successivo. In seguito alla firma del patto Molotov-Ribbentrop, la Germania invase la Polonia il 1° settembre 1939 e il 14 settembre Lviv fu completamente circondata dalle truppe tedesche. I sovietici invasero poi la Polonia il 17 settembre e la città divenne la capitale della neonata Oblast di Leopoli. La Germania considerava la Galizia (ex austriaca) come già arianizzata e civilizzata, e i galiziani ucraini sfuggivano alla piena portata degli atti tedeschi. Nel 1945, un accordo sul confine cedette formalmente la parte orientale della Polonia prebellica all'Unione Sovietica, accettando il confine polacco-sovietico tracciato secondo la cosiddetta "Linea Curzon", e nel febbraio 1946 Leopoli divenne parte dell'Unione Sovietica. La popolazione, ormai per lo più ucraina, fu sottoposta a sovietizzazione forzata e l'immigrazione dalla Russia fu fortemente incoraggiata. Nonostante ciò, la città è rimasta un importante centro del movimento dissidente in Ucraina e ha svolto un ruolo fondamentale nell'ottenimento dell'indipendenza dell'Ucraina nel 1991.