Первая ратуша на площади Рынок была построена, вероятно, в 1350—1360 гг. Она была деревянной и в 1381 сгорела. Спустя некоторое время ратушу снова отстроили. Со временем она стала представлять собой здание из трех частей разного времени постройки.
Самая старая — средняя часть — XIV в., западная часть была построена в 1491—1504 гг., а восточная — в середине XVI в.
Каменную башню над ратушей построили в 1619 году (архитектор А. Бемер).
В 1826 году из-за аварийного состояния здания башня начала рушиться. После этого старую ратушу разобрали, а на ее месте в 1827 г. заложили и в течение 1830—1835 гг. построили новую по проекту архитекторов Ю. Маркля, Ф. Трешера (Третера), А. Вондрашка.
В 1848 г. ратуша была сильно повреждена пожаром, во время которого ее купольное завершение завалилось.
В 1851 г. здание отреставрировали: купольное завершения заменили зубчатым, подобным завершению средневековых башен.
В 1852 г. на башне установили новые часы.
В 1948 г. над главным входом в ратушу установили скульптурную группу (не сохранилась до наших дней), а перед входом — фигуры львов с гербом Львова на щитах.
В 1994 на фронтоне главного фасада был размещен большой герб Львова.
Ратуша построена в простых формах венского классицизма. Кирпичная, квадратная в плане, четырехэтажная, с внутренним двориком. Над ратушей поднимается башня с часами, изготовленными на фабрике В. Штиля под Веной.
3 апреля (день флага Украины) 1990 г. на городской ратуше Львова, в первом среди украинских городов, был поднят национальный жёлто-голубой флаг Украины.