宋至明初,隶属宁德县青田乡东洋里。
明宣德年间,为麻岭巡检司堡所在地。
嘉靖三十五年,福建省按察使舒春芳拨银建筑城墙。
清雍正十三年,为宁德县第五区公所驻地,1935年为周敦特种区区署驻地。
1940年1月,设周墩镇,1942年8月改为狮城镇。
1945年,为周宁县政府驻地。
1949年6月周墩和平解放,1950年,狮城镇分设城关、坂头、陈凤3个乡。
1952年,城关乡改称城关镇,1957年1月,改为县辖镇。
1959年,设立城关人民公社。
1961年8月恢复城关镇建制,1966年8月改称城关公社。
1980年9月分设城关镇和城郊公社。
1981年,红潭大队分为龙潭、洋庄2个大队,南新大队分为南庄、仙溪2个大队,并将南庄大队划并城关镇,城关镇辖城关、南庄2个大队和1个居民大队,城郊公社辖仙溪、龙潭、洋庄、安后、洋尾、坂头、虎岗、陈风、前坪9个生产大队。
1984年城郊公社并入城关镇复称狮城镇,21世纪初,狮城、南庄、仙溪居民委员会和村民委员会整合,成立中兴、长安、城西、桥南、东园、兴福6个社区。
全镇辖6个社区8个行政村,镇人民政府设狮城。