清咸豐五年(1855年),析鄉為局,屬歸義局歸義團(部分)、薰化(部分)團。
民國時期,屬歸上鄉。
1949年,隸歸中鄉。
1950年,定為鄉級鎮。
1956年,為鄉屬鎮,隸歸義鄉。
1958年,隸汨羅公社。
1961年,恢復為區屬鎮,隸汨羅區。
1966年2月,汨羅縣析置后,汨羅鎮改為城關鎮。
1969年,析汨羅公社的百丈、汨羅2個大隊和歸義公社的歸義、大路、城南、城北、城東、榮家坪6個大隊入城關鎮。
1981年,又將上述8個大隊析出。
2015年12月,城關鎮、城郊鄉成建制合并設立歸義鎮。