周赧王元年(前314年),現金城鎮境域屬閬中縣。
南朝梁天監元年(502年),置隆城郡及儀隆縣,郡縣同治,治所在今儀隴縣金城鎮。
唐武德三年(620年)置方州,州治與儀隆縣治在今金城鎮。
唐開元二十六年(738年),儀隆縣城移于金城山腰現金城鎮所在地。
唐、宋、元、明、清各朝代,現金城鎮境域均為儀隴縣縣治所在地。
民國三十年(1941年),設金城鎮。
1950年5月,金城鎮改為金城鄉。
1952年5月,金城鄉改為城關鎮。
1955年,城關鎮并入南圖鄉。
1959年,南圖鄉析置城關鎮。
1981年,城關鎮更名金城鎮。
1992年9月,南圖、雙盤、化馬、中壩4鄉并入金城鎮。
1994年7月,雙盤、中壩2鄉析出。
1997年7月,化馬鄉析出。
2006年6月,化馬鄉并入金城鎮。
2019年8月30日,撤銷雙盤鄉和中壩鄉,劃歸金城鎮管轄。