Город был основан в 1844 году как Петровское укрепление. Название было связано с тем, что, по преданию, во время Персидского похода в 1722 году на этом месте находился лагерь армии Петра I. В 1857 году город был переименован в Петровск. С марта по апрель 1918 года, а также с ноября 1918 года по март 1920 года в ходе Гражданской войны город удерживался антибольшевистскими силами и именовался Шамиль-кала в честь имама Шамиля. В 1922 году был переименован в Махачкала (до 1950-х годов часто писали — Махач-Кала; название было дано в честь одного из организаторов советской власти в Дагестане — Магомеда Али (Махача) Дахадаева (1882—1918). Название происходит от «Махач» — сокращенной формы имени «Магомед», и от кала в значении «город, крепость».