1949年属七区,政府驻南关。
1950年至1952年属一区,政府驻南关。
1953年至1955年成立城关乡,政府驻地城内村。
1956年至1957年更名为城关镇。
1958年至1960年成立五星人民公社。
1961年至1983年成立城关人民公社。
1984年城关人民公社更名为城关镇,政府驻地城关村。
2001年全县乡镇区划调整,因全国各地城关镇重名,遂将城关镇更名为晋昌镇。
2021年,撤销杨芳乡,整建制并入晋昌镇。