Археологическими исследованиями установлено, что на месте Львова существовали поселения начиная с V века нашей эры.
Львов основан галицким князем Данилой Романовичем в середине XIII века. Первое упоминание о Львове относится к 1256 году.
Около 1272 года город стал столицей Галицко-Волынского княжества. В составе княжества (до 1349).
В 1340—1349 годах городом правил воевода Дмитрий Детько, как наместник литовского князя Любарта.
В составе Польши и Речи Посполитой (1349—1772)В 1349 польский король Казимир III Великий захватил Львов и через семь лет в 1356 даровал городу Магдебургское право.
В 1370—1387 город находился в составе Венгрии
В 1387 Львов и окружающие земли были захвачены войсками польской королевы Ядвиги.
Осенью 1648 года город был осаждён запорожскими казаками во главе с Богданом Хмельницким. Они захватили и уничтожили замок, но оставили город после получения выкупа. В 1655 шведские армии вторглись в Польшу, захватили большую её часть и осадили Львов. Однако они были вынуждены отступить, так и не взяв город. Осада Львова русско-казацкими отрядами Бутурлина и Хмельницкого также была снята из-за вторжения крымского хана на Украину. В следующем году Львов окружила армия трансильванского князя Дьёрдя Ракоци I, но город взят не был. В 1672 армия уже Османской империи под командованием Мехмеда IV вновь осадила Львов, однако война была закончена до взятия города. В 1675 году город атаковали турки и крымские татары, но король Ян III Собеский разбил их 24 августа в битве, которая получила имя Львовской.
В 1704, во время Великой северной войны, город был захвачен и разграблен впервые за свою историю армией шведского короля Карла XII. В 1707 во Львов приезжал царь Пётр I. Согласно преданию, карета, в которой он ехал, застряла в грязи на немощёной площади Рынок. После этого всю площадь вымостили деревянной брусчаткой.
Под властью Габсбургов (1772—1914)С 1772 по 1918 год город официально носил название Лемберг.
Языком администрации после вхождения Львова в состав Австрии стал немецкий, а большинство должностей городского управления заняли немцы и чехи. Однако город продолжал оставаться важным центром польской и русской культуры.
Вместе с развалом Габсбургской империи в конце Первой мировой войны украинские политики 1 ноября 1918 года провозгласили город столицей Западно-Украинской народной республики (ЗУНР).
На 1 ноября 1918 в городе находилось около 12 тысяч украинских и незначительное количество польских военных. Украинский легион Сечевых стрельцов (боевая единица австрийской армии) в это время находился в Буковине. Тем не менее, небольшая группа украинских военных взяла на несколько дней город под свой контроль и объявила о вхождении города в Западно-Украинскую народную республику. По мере прибытия украинских и польских частей в городе развернулись боевые действия, в результате которых украинские части были вынуждены оставить Львов. Украинские власти объявили всеобщую мобилизацию. Под ружьё были поставлены бывшие солдаты австрийской армии, что позволило создать Украинскую Галицкую армию (УГА). К полякам же на помощь пришла сформированная во Франции армия под командованием Галлера. УГА с боями отступила к реке Збруч. Польско-украинская война продолжалась до июля 1919 года.
В начале лета командование над УГА принял бывший генерал российской армии Александр Греков, который провёл удачную наступательную операцию, однако ввиду серьёзного неравенства сил УГА снова отступила за Збруч, на территорию Украинской народной республики (УНР). Решением межсоюзнической комиссии в Париже Львов был оставлен под управлением Польши — до окончательного решения его судьбы. Как польские, так и украинские жертвы боёв во Львове и его окрестностях были похоронены на Лычаковском кладбище (см. Львовские орлята). Останки одного из неизвестных солдат, павших в этой борьбе, были захоронены в Варшаве, под монументом неизвестному солдату.
Позднее Польша заключила соглашение с Симоном Петлюрой, по которому она в обмен на отказ правительства УНР от претензий на Западную Украину оказала ему военную помощь в борьбе с большевиками и наступавшей Красной Армией.
В составе Польши (1919—1939)1 сентября 1939 года войска Германии вошли в Польшу. Обороной города руководил Францишек Юзеф Сикорский. 19 сентября к городу подошли советские войска и вскоре заняли его восточную часть, польской стороне было предложено сдать город. Через несколько часов немецкие войска атаковали запад и юг города, войдя в огневой контакт с советскими войсками, но вермахт отвёл войска. В соответствии с Секретным протоколом к пакту Молотова-Риббентропа, в ночь на 21 сентября 1939 года советские войска сменили немецкие и начали готовиться к штурму. Однако польское командование возобновило переговоры, в результате которых 22 сентября 1939 года было подписано соглашение «о передаче города Львова войскам Советского Союза».
В 1939—1941 годах в городе дислоцировались советские войска, в частности, здесь находилось управление 6-й армии Киевского Особого военного округа Красной Армии[21].
После начала немецкого вторжения в СССР 22 июня 1941 года ОУН начала попытки захватить город, однако оуновцы были оттеснены пограничниками. Перестрелки продолжались вплоть до 30 июня 1941 года.
В составе УССР (1944—1991)