宋熙宁二年(1069),栾川置镇,隶京兆府路虢州卢氏县。
崇宁三年(1104)栾川置县,隶永兴军路虢州。
金贞观二年(1154)县废为镇,属虢州卢氏县。
元代属南阳府嵩州。
明代属河南府卢氏县。
清属陕州卢氏县。
1930年废镇,改属陕州卢氏县第三区有莘镇。
1932年属卢氏县第二区有莘镇。
1941年改为栾川镇,仍属卢氏县第二区。
1947年属栾川县栾川区。
1951年为栾川县第一区管辖。
1955年12月撤区成立中心乡置城关镇。
同年11月恢复区建制,属栾川区栾川镇。
1958年撤区并乡,保留栾川镇,同年9月公社化时,属栾川镇公社。
1959年撤镇并入“栾川公社”。
1960年嵩、栾合县,属嵩县栾川公社。
1961年恢复栾川县,属栾川县栾川区城关镇公社。
1962年耕莘队从栾州公社析出,另建城关镇,属县辖镇。
1963年废镇为大队,属城关公社栾川管理区。
1968年改属栾川公社。
1976年改称城关公社。
1982年恢复城关镇,属城关镇公社。
1984年改公社为城关镇。
2021年撤镇设街道。