Kotor je prvi put bio naseljen u vreme antičkog Rima, kada je bio poznat kao Acruvium i bio deo rimske provincije Dalmacije. Ascrivium ili Ascruvium prvi put se pominje 168. pne. Bio je utvrđen još od ranog srednjeg veka, kada je imperator Justinijan I sazidao tvrđavu iznad Ascrivium-a 535, posle proterivanja Gota, a drugi grad je verovatno sazidao Konstantin Porfirogenit u 10. veku na visijama iznad grada. Grad su 840. poharali Saraceni.
Godine 1002. opljačkali su ga Bugari, a kasnije ga je bugarski car Samuilo predao Srbiji, ali je grad, pod zaštitom Srbije, a u savezu s Dubrovnikom, sačuvao nedirnutim svoje republikanske institucije, i svoje pravo da zaključuje ugovore i učestvuje u ratu. U to vreme on je već bio episkopsko sedište a u 13. veku su ustanovljeni dominikanski i franjevački manastiri da spreče širenje bogumilstva.
U 14. veku trgovina grada Cattaro, kako je tada zvan, konkurisala je dubrovačkoj i izazivala zavist Venecije. Treba spomenuti da je grad Kotor imao statut iz 1301. godine, kojim se dokazuje da je uvek imao status grada. Za vreme dinastije Nemanjića, Kotor je uživao veliku autonomiju i povlastice. Pad Srbije 1389. ostavio je grad bez zaštite, i pošto je naizmence padao u ruke Mlečana i Mađara, konačno je 1420. došao pod mletačku vlast.
Kotor su opsađivali i Turci 1538. i 1657, posećivala ga kuga 1572, a gotovo je uništen u zemljotresima 1563 i 1667. Po Sporazumu iz Kampo Fromija iz 1797. prešao je u ruke Austrije; ali je 1805, po sporazumu iz Presburga, dodeljen Italiji, da bi konačno postao deo francuskog carstva1810.
Godine 1814, grad je vraćen Austriji posle Bečkog kongresa. Pokušaj prisilnog regrutovanja stanovništva, napušten 1869, ali uspešan 1881, izazvao je dve kratkotraje pobune među Krivošijama na zapadnoj strani planine Orjena, za koje vreme je Kotor bio sedište austrijskog štaba.
U Prvom svetskom ratu Kotor je bio poprište žestokih borbi između Crne Gore i Austro-Ugarske. Posle 1918. Kotor je postao deo Jugoslavije, a posle 1945. deo tadašnje Socijalističke Republike Crne Gore u okviru socijalističke Jugoslavije.