1984年始建區。1990年7月21日,廣西壯族自治區人民政府批準(桂政函[1990]20號):北海市郊區的地角鎮和西塘鄉的徐屋、譚屋、張屋、大乪、體育里、塘仔、石子嶺、三合口、沈四、油行、火燒床、屋仔、發寶、紅坎、沙井頭、丁屋、勞屋、上村、陳屋、莫屋、后塘、李屋等22自然村,以及高德鎮的勒棚村劃歸海城區管轄;同時,將地角鎮改為街道辦事處,作為海城區人民政府的派出機構。
1994年12月17日,國務院批準(國函[1994]137號):擴大海城區的行政區域,將原郊區的潿洲鎮(含斜陽島)、高德鎮的馬欄、軍屯、開江、垌尾、翁山、赤西、高農8個村公所和第一、第二、沙腳、嶺底、廟山5個居委會及平陽村公所的螺殼村、龍溝蘆村,西塘鎮的西塘、西邊垌、驛馬3個村公所劃歸海城區管轄。區人民政府駐北部灣大道。將大墩海、南氵萬、新村3個居委會劃歸銀海區管轄。
至此,海城區面積140平方千米,人口約21萬人。轄5個街道、1個鎮:地角街道、海角街道、西街街道、中街街道、東街街道、潿洲鎮。區政府駐環衛路。
1996年7月經自治區政府批準設立靖海鎮。至此,海城區轄東街、中街、西街、海角、地角5個街道和潿洲、靖海2個鎮,51個居委會、20個行政村。
1998年4月經自治區政府批準設立驛馬鎮。調整后,海城區轄5個街道、3個鎮:中街街道、東街街道、西街街道、海角街道、地角街道、靖海鎮、潿州鎮、驛馬鎮。
2000年第五次人口普查,海城區總人口273413人。其中:中街街道46402人,東街街道40798人,西街街道44995人,海角街道39914人,地角街道15434人,靖海鎮28900人,潿洲鎮11978人,驛馬鎮44992人。
2005年6月21日,廣西壯族自治區政府(桂政函[2005]175號)同意調整海城區部分鎮的行政區劃:撤銷驛馬鎮,改設街道辦事處,以原驛馬鎮的行政區域為該街道辦事處的轄區;撤銷靖海鎮,改設街道辦事處,以原靖海鎮的行政區域為該街道辦事處的轄區。同年7月4日,海城區政府下發《關于撤銷靖海鎮改設為高德街道辦事處和撤銷驛馬鎮改設為驛馬街道辦事處的通知》(北城政發[2005]7號)。
至此,全區轄7個街道、1個鎮:中街街道、東街街道、西街街道、海角街道、地角街道、高德街道、驛馬街道、潿州鎮。