В античности Шамахи был частью Ахеменидской империи. Впервые он упоминается как Камахия древнеримским географом Клавдием Птолемеем в I-II веках н.э.
В средние века Шамахи считался очень важным городом, будучи столицей государства Ширваншахов с VIII по XIV века.
В XII веке Шамахи поддерживал экономические и культурные связи с Индией и Китаем, а проведенные археологические раскопки и найденные керамические сосуды указывают также на торговлю с городами Центральной Азии.
Медные монеты и фарфоровые сосуды, произведенные в Китае подтверждают, что Шамахи являлся одним из городов Шелкового пути.
В 1500–1501 годах город был захвачен династией Сефевидов.
После завоевания окрестных земель первым правителем Сефевидов Исмаилом I, Шамахи сохранил свою независимость под сюзеренитетом Сефевидов.
Этот статус город имел до 1538 года, когда его сын и преемник, шах Тахмасп I (правил с 1524 по 1576 годы), превратил всю территорию в полную провинцию Сефевидов и назначил её первого губернатора.
Российские войска вторглись в Северный Кавказ и Закавказье во время Русско-Персидской войны (1722–1723 годы).
Войдя в Шамахи, завоеватели вскоре покинули город и оставили его османам, владычество которых продолжилось в 1723–1735 годах.
А после того как Надир Шах отвоевал Шамахи, город оставался частью Ирана до аннексированная его Россией в 1805 году — этот факт был подтвержден Гюлистанским договором в 1813 году.