海城古稱灑水平。
北宋,設天都寨,屬西安州,轄橫嶺堡(今史店鄉史店村東)。
西夏,改為東牟會。
元代,稱海喇都城。
明、清時,簡稱為海城。
民國時,設海城鎮、海城區公所、復興鎮。
中華人民共和國成立后,設城關區,轄城關、高臺寺、史店、徐坪、馬營、王塘、賈塘、曹洼、楊坊9個鄉。
1952年10月,改稱第一區,轄城關、黎家莊子、高臺寺、武摭、雙墩、徐家坪、馬家營、米家灣、王家井、賀家堡10個鄉。
1956年7月,撤銷第一(城關)區,城關鄉改為縣直屬鄉。
1958年1月,由城關鄉改為城關鎮。
1959年5月,又改為城關公社。
1984年1月,改公社為鄉。
1985年12月,撤銷城關鄉,原鄉境西部高臺寺、武塬、段塬、堡子等村另設高臺寺鄉,并以縣城為主,與山門、黎莊、水洼等村,設立海城鎮。
2003年9月,撤銷高臺寺鄉,將其所轄的王井、高臺、堡子、武塬、段塬5個行政村劃入海城鎮。