Начало городу было положено указом императора Николая I от 12 июня 1844 года, согласно которому было основано укрепление Петровское, названное так в память о пребывании в этих местах Петра I в 1722 году.
К концу 1851 года, по распоряжению наместника и Главного почтового управления, в Петровском укреплении открылось почтовое отделение. С 1 апреля 1852 года от вечерней до утренней зари начинает функционировать маяк, а через пять лет Кавказский наместник задумывается о строительстве города: «В видах поощрения торговли и промышленности по северо-западному берегу Каспийского моря и для привлечения к сему пункту большего народонаселения, нахожу полезным учредить при означенной крепости портовый город, предоставив ему те самые права, какими пользовались Анапа, Новороссийск и Сухум-Кале, сообразно с местными условиями…»
Предложение наместника было принято в Санкт-Петербурге и 24 октября 1857 года Правительствующему Сенату поступил Императорский указ в котором говорилось «…на северо-западном берегу Каспийского моря учредить при Петровской крепости портовый город Петровск и даровать некоторые льготы и преимущества лицам, желающим там селиться.»
28 мая 1858 года царь Александр II приказал построить в городе пристань, на ее строительство было выделено 50 тысяч рублей.
К осени следующего года в Англии на эти деньги были закуплены рельсы, вагоны, локомобиль и прочие необходимые механизмы для строительства причала. Всеми работами руководил подполковник Фалькенгаген.
Питьевая вода была проведена в город чугунными трубами из родников Таркинской горы в один большой резервуар, расположенный в самом высоком месте города, а оттуда уже была разведена теми же чугунными трубами в два водоразборных бассейна.
В 1874 году на средства членов общественного клуба в городском саду Петровска была выстроена ротонда для проведения танцевальных вечеров и прочих общественных увеселений. К 1880-м годам в городе заработала первая типография.
В 1894 году начались работы по строительству Петровско-Бакинской ветки Ростово-Владикавказской железной дороги.
Первый сквозной поезд на Дербент проехал этот участок 25 октября 1899 года, а постоянное движение было открыто 1 апреля 1900 года.
18 октября 1918 года, после взятия города белыми, была предпринята попытка переименовать Порт-Петровск в Шамилькалу, однако после установления советской власти городу вернули прежнее название.
26 февраля 1923 года город стал столицей Дагестанской АССР.