昌宁镇,隶属于山西省临汾市乡宁县,地处乡宁县中北部,东接管头镇,南连尉庄乡,西邻枣岭乡,北依吉县中垛乡。总面积231.38平方千米。截至2020年6月,昌宁镇辖7个社区、13个村,镇人民政府驻迎旭东大街。2017年常住人口69984人,截至2018年末户籍人口67840人。
昌宁镇因北魏时期曾在此地置昌宁县得名。1949年属乡宁县第一区,2001年3月由原城关镇和张马乡合并组建。境内最高峰云泰山海拔1583.2米,鄂河自东向西流经7个村。主要矿藏有煤炭,储量1亿吨,另有甘草等中药材资源。
2011年末,昌宁镇农民人均纯收入4615元。截至2018年末,有工业企业40个,其中规模以上企业3个;营业面积超50平方米的综合商店或超市36个。农业以小麦、玉米种植为主,2011年粮食产量10476吨。G22青兰高速、G59呼北高速和G209国道过境。