Bovec was first mentioned in 1192. Initially, it was part of the Tolmin County, and later changed hands between the Republic of Venice and the Counts of Gorizia, before being included in the Habsburg Monarchy, like the majority of Slovene-speaking territories. With the exception of a brief period between 1809 and 1813, when it was included under the Napoleonic Kingdom of Italy, it remained under the Austrian rule until 1918.
During the Austro-Hungarian period, the town was included in the Austrian Littoral, and was strongly influenced by German culture. Many locals preferred the use of German language over Slovene until late 19th century, when Slovene prevailed and ultimately completely replaced German as the language of everyday communication.
During World War One, the area was the theatre of the Battles of the Isonzo, fought between Italy and Austria-Hungary. In 1918, the whole area was occupied by the Italian Army, and in 1920 it was officially annexed to Italy, and included in the Julian March region. Between 1922 and 1943, Bovec and the neighbouring villages, which had an exclusively Slovene-speaking population, were submitted to a policy of violent Fascist Italianization. Numerous locals joined the underground militant anti-fascist organization TIGR, which fought against the Italian Fascist regime, while many others emigrated to the neighbouring Kingdom of Yugoslavia (among them, the renowned literary scholar Anton Ocvirk).
Between 1943 and 1945, the area was occupied by Nazi German forces, and units of partisan resistance were active in the area. After the liberation by the Yugoslav People's Army in May 1945, Bovec came under joined British-U.S. occupation. Between June 1945 and September 1947, Bovec and the whole right bank of the Soča river was included in the Zone A of the Julian March, which was under Allied military administration, with the demarcation line with the Yugoslav occupation zone running just a few kilometers east of the town.
In September 1947, the Paris Peace Treaties gave the town to Yugoslavia, namely to the Socialist Republic of Slovenia. In 1951, the town became a city. With the breakup of Yugoslavia in 1991, Bovec became part of the independent Slovenian state.
Bovec was heavily damaged by the 1976 Friuli earthquake. Another moderate quake with a magnitude of 5.6 on the Richter scale shook the city in April 1998, and a weaker one occurred in July 2004, with a 4.9 magnitude.