明万历十四年(1586年),东兰州辖地设内六哨和外六哨,今凤城镇为外六哨中的凤山哨辖地。
清雍正七年(1729年),置凤山土州,治今凤山县城,受东兰州承审。
清雍正八年(1730年),改土归流,外六哨另置土分州,为凤山土分州凤山哨辖地。
民国八年(1919年),凤山土州改流置凤山县,县治今镇。
民国二十二年(1933年),县将6个区划分为8个乡,称城治乡。
民国时期,先后属柳江道、广西省、百色民团区、百色行政督区、第十、第五、第十二行政督察区。
1949年,观山县解放,属治城厢,属百色专区。
1958年,复属百色专区,设城厢公社。
1961年,城厢公社分为4个公社及凤城镇。
1962年7月,凤城镇归属城厢区。
1965年5月25日,改属河池专区。
1970年7月,城厢区改公社。
1971年,凤山县改属河池地区。
1972年,从城厢公社划出巴烈、凤城两大队及巴旁大队的巴旁村(屯)重设凤城镇。
1983年7月,城厢公社改为凤阳公社。
1984年9月,划入原凤阳公社的13个大队凤城镇。
2002年,凤山县改隶河池市。