Градът е основан през1844 година като руско военно укреплениеПетровское, което сред местните планински народи е наричаноАнджи кала. През1857 година селището получава статут на град и е нареченоПорт Петровск. Градът е наименуван така по известна легенда, според която по време наПерсийския поход от1722 година, на това място е била разположена войската наПетър I. През1870 година е построен изкуствен залив ипристанище. През периода от1894 –1896 година, градът е свързан сВладикавказ иБаку чрезжелезопътна линия.
В края на19 и началото на20 век, вПорт Петровск са построени нефтепреработвателни заводи, хартиена и тютюнева фабрика.
През1921 година, градът е преименуван на Махачкала в чест на дагестанския революционерМохамед Али Дахадаев по прякор „Махача“ (1882 –1918). Името е образувано, като са слети думите „Махач“ и турската думакала (калѐ) – град, крепост.
Само на 5 – 6 km от Махачкала, в планината Таркитау, се намира селоТарки, на мястото на което според преданието през7-10 век е съществувал хазарския градСемендер, който приблизително до723 година е столица наХазарския каганат. По-късно селището прераства в аул Тарки с 3 джамии.
Климатът на града е умерен и отчастистепен. Средната годишна температура е 12,1 °C. Лятото е горещо и сухо, и средната температура на летните месеци е около 20 °C. Максималните дневни летни температури достигат 36 – 38 °C. Зимата е мека с много валежи. Средна температура през зимата е от 1 до -3 °C, а през нощта пада под нулата. Годишното количество на валежи е между 410 mm и 450 mm, а средната влажност на въздуха – около 70% (през зимата достига до 80%).