春秋为晋国辖,战国属赵地,秦为沾县辖。
明朝属乐平陡泉乡。
清沿明置。
1914年,为昔阳县沾城镇,驻西大街,领199村。
民国初年,全县分1镇3乡,隶属于沾城镇。
1917年,山西实行“村本政治”,为城关一区。
1918年,实行区村制,全县分4个区,属一区。
1938年5月,属昔东县。
1946年6月-1949年9月属一区,全县调整为8个行政区,驻东关。
1950年2月,一区驻地改为南关,所辖村数不变。
1953年7月,区下设乡,全县设80个乡,一区辖城关、巴洲、安坪等26个乡。
1954年,实行县对乡直管。
1956年9月,一区撤销,城关乡驻西大街。
1958年改为城关人民公社。
1959年3月,城关公社改为大寨公社。
1961年,大寨公社分为城关、大寨、李家庄、闫庄窝等4个公社。
1984年8月,撤销城关公社,设立城关镇,辖26个村民委员会,安坪公社改为安平乡,辖25个村民委员会,巴洲公社改巴洲乡,辖24个村民委员会。
2001年7月,城关镇、安平乡、巴洲乡合并为乐平镇。