A város helyén a Kr. e. 3. századbanDunonia kelta település állt. Az 1. században, a római hódítás után aBononia nevet kapta. A rómaiak határerődöt építettek itt a túlparti barbár betörések ellen. Az erődítményt444-benAttila hadai lerombolták, majd a 6. századbanI. Iusztinianosz bizánci császár újjáépíttette.626-ban az avarok foglalták el, majd szlávok telepedtek le. A szlávok aBadin, illetveBdin nevet adták a településnek, innen származik a mai név. A 7. században a szlávokat a bolgár-törökök váltották fel.
Vidin a 10–14. században kiemelt szerepet játszott a régió belső viszályaiban. 1186-banI. Iván Aszen elvette a bizánciaktól, 1260–1264 közöttIV. Béla uralta. 1367-ben rövid ideigNagy Lajos uralma alatt állt. 1388-banIván Szracimir cár behódolt a törököknek. Ettől kezdve a vidini vár a törökök északra tartó hadjáratainak fontos bázisa lett.
A 18. században a város osztrák kézre került, ekkor korszerűsítették a védelmi rendszert.
1849 szeptemberében, a magyar szabadságharc leverése utánTörökországba menekültKossuth Lajos ebben a városban írta és bocsátotta ki híressé vált „vidini levelét”, melyben a vereség okát az „árulónak” bélyegzettGörgei Artúr személyében jelölte meg.
1850-ben a város fellázadt a török uralom ellen, de a lázadást leverték. A város (és Bulgária) felszabadulását az1877–78-as orosz–török háború hozta meg.