秦汉时属耒阳县,三国吴孙亮析耒阳西南地置新宁、新平二县。
东晋太元二十年(396年)并新平于新宁县。
唐天宝元年(公元742年)改新宁为常宁。五代及宋属长沙国。
元至元十九年(1282年)升为州,属湖南宣慰道。
明洪武三年(1370年)三月降为县,属湖广布政使司。
民国26年(1937年)属湖南省第二行政督察区。
1949年10月12日常宁和平解放,属湘南专区。
新中国成立后,常宁设10区174乡。
1952年4月改属湘南行政区。
1952年12月设11区、2镇、172乡。
1954年7月属湘南专区。
1956年6月撤区并乡,全县设2镇45乡。
1958年撤乡,实行政社合一,全县设15个人民公社。
1961年9月,恢复区建制,设9区2镇。
1978年,常宁县设9个区,2个区级镇,59个人民公社,919个生产大队。
1982年恢复白沙镇、柏坊镇。
1984年实行政社分设,乡设乡人民政府,乡以下的生产大队改为村民委员会,生产队改为村民小组。镇以下仍设居民委员会与居民小组。同年,柏坊乡并入柏坊镇。
1985年5月,撤销荫田、湖亭、板桥3乡,设立荫田、盐湖、板桥3镇。8月,将塔山乡置蒲竹瑶族乡。12月撤销洋泉镇,大市乡改名为大市坪乡。
1986年12月,撤销官岭、新洲2乡,设立官岭、新河2镇。
1990年,全县共设9个区,3个区级镇,7个乡级镇,51个乡,1个瑶族乡。
1991年,全县共设9个区,3个区级镇,7个乡级镇,51个乡,1个民族乡。
1993年12月撤销三角塘、烟洲、罗市3乡,设立三角塘、烟洲、罗市3镇。
1995年5月,撤销宜阳、柏枋、水口山、荫田、罗桥、板桥、官岭、洋泉、新洲9个区公所,保留盐湖镇行政建制,将城关镇改名为宜阳镇,将其余的61个乡镇撤并调整为23个乡镇,即宜阳镇、松柏镇、白沙镇、官岭镇、洋泉镇、柏坊镇、荫田镇、盐湖镇、罗桥镇、新河镇、板桥镇、三角塘镇、烟洲镇、西岭镇、胜桥乡、庙前乡、宜潭乡、兰江乡、弥泉乡、蓬塘乡、大堡乡、江河乡、塔山瑶族乡。
1995年12月撤销西岭乡设立西岭镇。
1996年3月撤销庙前、胜桥2乡,设立庙前、胜桥2镇。年末,全县下辖7个乡、16个镇,村、组、居民小组无变动。
1996年11月26日,经国务院批准,常宁撤县设市沿至今。
2004年,常宁市辖16个镇,7个乡(含1个瑶族乡)。
2008年,撤销宜阳镇,设立宜阳、泉峰、培元三个街道办事处,松柏镇析出水口山街道办事处,洋泉镇析出天堂山风景名胜管理处,是年常宁市辖15个镇7个乡5个办事处。
2009年,从松柏镇析出6个行政村和20个社区,设立水口山街道,总面积27.95平方千米,总人口2.82万人,办事处机关驻朱家湾。
2015年,根据常宁市乡镇区划调整方案,“宜潭乡、宜阳街道”成建制合并设立“宜阳街道”。“松柏镇、水口山街道”成建制合并设立“水口山镇”。“盐湖镇、三角塘镇”成建制合并设立“三角塘镇”。“江河乡、新河镇”成建制合并设立“新河镇”。“弥泉乡、塔山瑶族乡”成建制合并设立“塔山瑶族乡”。调整后下辖14镇4乡3街道。