西漢于今縣城東南30千米關(guān)王廟村置騏縣,屬河東郡;東漢廢。北魏延興四年(474)置昌寧縣(治今縣城西南20千米西村),于縣置中陽郡,縣屬之;又于今縣境別置洛陵縣,屬中陽郡,北齊廢。隋開皇初年廢中陽郡,縣屬耿州,后又次第屬汾州、文城郡、慈州。五代唐改鄉(xiāng)寧縣。據(jù)嘉慶《一統(tǒng)志》,后唐避李國昌諱改昌寧為鄉(xiāng)寧。又據(jù)《郡縣釋名》:“鄉(xiāng)寧縣,蓋合呂鄉(xiāng)、昌寧之名為名也。”
宋皇佑三年(1051)徙治今縣城。熙寧五年(1072)廢,元佑元年(1086)復置,仍屬慈州。金屬吉州。清乾隆三十七年(1772)屬平陽府。民國初年屬河東道,道廢后直屬省。1949年屬臨汾專區(qū)。1954年屬晉南專區(qū)。1967年屬晉南地區(qū)。1970年屬臨汾地區(qū)。2000年屬地級臨汾市。
1997年,鄉(xiāng)寧縣面積2029平方千米,人口18萬人,縣政府駐城關(guān)鎮(zhèn)。轄4鎮(zhèn)12鄉(xiāng):城關(guān)鎮(zhèn)、西坡鎮(zhèn)、臺頭鎮(zhèn)、光華鎮(zhèn)、張馬鄉(xiāng)、譚坪鄉(xiāng)、棗嶺鄉(xiāng)、西交口鄉(xiāng)、管頭鄉(xiāng)、下善鄉(xiāng)、雙風淹鄉(xiāng)、崖下鄉(xiāng)、吉家垣鄉(xiāng)、安汾鄉(xiāng)、尉莊鄉(xiāng)、關(guān)王廟鄉(xiāng)。
2000年第五次人口普查,鄉(xiāng)寧縣總?cè)丝?16408人,其中:城關(guān)鎮(zhèn)37953人,光華鎮(zhèn)20843人,臺頭鎮(zhèn)12440人,管頭鎮(zhèn)11384人,西坡鎮(zhèn)14566人,吉家原鄉(xiāng)8235人,張馬鄉(xiāng)11604人,下善鄉(xiāng)8129人,崖下鄉(xiāng)18199人,雙鳳濞鄉(xiāng)6348人,關(guān)王廟鄉(xiāng)13909人,安汾鄉(xiāng)7914人,尉莊鄉(xiāng)6607人,西交口鄉(xiāng)12013人,棗嶺鄉(xiāng)15825人,譚坪鄉(xiāng)10439人。
2001年區(qū)劃調(diào)整后,全縣轄5個鎮(zhèn)、5個鄉(xiāng):昌寧鎮(zhèn)、光華鎮(zhèn)、臺頭鎮(zhèn)、管頭鎮(zhèn)、西坡鎮(zhèn)、雙鶴鄉(xiāng)、關(guān)王廟鄉(xiāng)、尉莊鄉(xiāng)、西交口鄉(xiāng)、棗嶺鄉(xiāng)。