北魏延兴四年(474)设昌宁县,取昌盛安宁之意。五代唐因避庄宗李存勖祖父李国昌讳而改乡宁。因为县政府驻,以旧县名命名。
昌宁镇于2001年4月由原城关镇和原张马乡撤并合成,在春秋时属晋,西汉时属骐县,北魏时归昌宁县所管辖,建国初归乡宁县管辖。位于吕梁山南端,东连管头镇,西达枣岭乡,南邻尉庄乡,北与吉县接壤,是乡宁县的政治、经济、文化中心。全镇总面积225平方公里,农业人口27919人,共辖24个行政村、1个城市居委会,是全县的人口大镇。位于县境北部,治所历驻县城,东与管头乡相连,南与尉庄乡毗邻,西接枣岭乡,北连吉县境,总面积119.08平方公里。属黄土残塬区,地势概貌为南北两座山,东西一条川;最高处为云泰山,海拔1629.5米,最低处为大石头河滩,海拔390米,相对高差739.5米。年平均气温10摄氏+查看详细昌宁镇概况>>
2022年10月,2022年淘宝镇名单发布,昌宁镇上榜。
2022年1月,被授牌命名被为平安山西建设示范乡镇(街道)。
2021年12月,昌宁镇被认定为山西省农村电商强镇。
2021年5月,根据第七次全国人口普查结果,昌宁镇人口数量为8.48万人,位列乡宁县各乡镇人口数量排行榜第1位。
历史沿革:1949年10月属乡宁县一区。
1958年10月成立城关人民公社。
1984年7月撤销城关人民公社,设立城关镇,2001年3月张马乡与城关镇合并为昌宁镇,名称沿用至今。