中華人民共和國成立時,烏海地區只有410名居民。1955年,建立卓子山礦區辦事處,后改為卓子山礦區人民委員會,升為縣級建制,下設4個居民委員會。1958年,建立阿拉善旗烏達鎮,翌年升格為縣級建制,下設7個居民委員會。
1961年7月9日,國務院第111次全體會議通過,批準:設立海勃灣市,以鄂托克旗的卓資山(卓子山)礦區的行政區域為其行政區域;設立烏達市,以阿拉善左旗的烏達鎮的行政區域為其的行政區域。1961年10月1日,海勃灣市和烏達市正式成立。海勃灣市駐海勃灣,由伊克昭盟領導,下設4個城市人民公社。烏達市由巴彥淖爾盟領導,并將阿拉善左旗的3個牧區人民公社劃歸烏達市,下設5個城市人民公社,3個牧區人民公社(1964年又劃歸阿拉善左旗)。
1975年8月30日,國務院批準:撤銷烏達市、海勃灣市,設立烏海市。取二市首字為名。1976年1月10日,烏達市和海勃灣市正式合并,成立烏海市。市人民政府設在海勃灣。下轄烏達、海勃灣、拉僧廟3個縣級辦事處。1979年12月,將3個辦事處改設為區,同時,將拉僧廟辦事處更名為海南區。
1993年,三區轄有18個街道、1個鄉,206個居民委員會、5個行政村。其中,海勃灣區有5個街道,82個居委會;烏達區有8個街道,78個居委會;海南區有5個街道,46個居委會;烏蘭鄉有5個行政村。
2000年,據第五次全國人口普查數據:烏海市總人口427553人。其中:海勃灣區199557人、海南區100819人、烏達區127177人。
2002年烏海市行政區劃一覽:
海勃灣區轄6個街道(新華街、新華西街、鳳凰嶺街、海北街、卡布其、千里山)、1個鎮(下海勃灣)、2個鄉(新地、五一);
海南區轄轄2個街道(拉僧仲、西卓子山)、3個鎮(老石旦、拉僧廟、公烏素)、2個鄉(巴音陶亥、東風);
烏達區轄7個街道(蘇海圖、振華、教子溝、梁家溝、五虎山、巴音賽、三道坎)、1個鎮(橋西)、1個鄉(烏蘭)。
2006年烏海市鄉鎮行政區劃調整情況:將全市3個區的10個鄉鎮(鄉5個、鎮5個)調整為5個鎮、1個街道。
海勃灣區將3個鄉鎮(鄉2個、鎮1個)調整為1個鎮、1個街道:原新地鄉和千里山街道辦事處合并組建千里山鎮,鎮政府設在原千里山街道辦事處所在地;原五一鄉和下海勃灣鎮合并組建濱河街道辦事處。調整后,海勃灣區轄6個街道(濱河、新華街、新華西街、鳳凰嶺街、海北街、卡布其)、1個鎮(千里山)。
烏達區將2個鄉鎮(鄉1個、鎮1個)調整為1個鎮:原烏蘭鄉和橋西鎮合并組建烏蘭淖爾鎮,鎮政府設在原烏蘭鄉政府所在地。調整后,烏達區轄8個街道(蘇海圖、振華、教子溝、梁家溝、五虎山、巴音賽、三道坎)、1個鎮(烏蘭淖爾)。
海南區將5個鄉鎮(鄉2個、鎮3個)調整為3個鎮:原東風鄉和巴音陶亥鄉合并組建巴音陶亥鎮,鎮政府設在原巴音陶亥鄉政府所在地;原老石旦鎮和拉僧廟鎮合并組建拉僧廟鎮,鎮政府設在原拉僧廟鎮政府所在地;保留公烏素鎮。調整后,海南區轄轄2個街道(拉僧仲、西卓子山)、3個鎮(拉僧廟、公烏素、巴音陶亥)。