北鎮因醫巫閭山為北方鎮山而得名。《周禮》記載,東鎮青州沂山,西鎮雍州吳山,中鎮冀州霍山,南鎮楊州金稽山,北鎮醫巫閭山,合稱五座鎮山。據《廣寧縣鄉土志》記載,“舜封十二山以醫巫閭山為幽州之鎮故名北鎮”。在明、清有廣寧大山之稱,至今廣大群眾仍稱其為“大山”。兩漢的無慮縣,唐代的巫閭守捉,都是由醫巫閭而得名。金代開始改為廣寧,沿用至清末。民國二年(1913年)全國統一縣名,因與湖南廣寧縣重名而改稱北鎮縣。
北鎮縣境戰國時屬燕國遼東郡。秦屬遼東郡。西漢、東漢屬幽州刺史部遼東郡,境內設有無慮縣。三國時屬幽州昌黎郡(今義縣)。西晉時屬平州(今遼陽)昌黎郡。南北朝時屬營州昌黎郡(今朝陽)。隋朝時屬燕郡(今義縣)。唐屬安東都護府,設巫閭守捉。遼代屬中京道,設顯州,轄奉先、山東、歸義三縣。金代屬北京路,設廣寧府,轄廣寧、閭陽、望平三縣。元置廣寧府路,轄閭陽、望平二縣。明代屬遼東都指揮使司。清光緒三十三年(1907年)置廣寧縣,屬錦州府。民國元年屬奉天省遼沈道。民國十八年(1929年)屬遼寧省。1931年屬奉天省。1932年屬奉天省。1934年屬錦州省。
1949年屬遼西省。1954年屬遼寧省。1989年6月29日,國務院批準:撤銷北鎮縣,設立北鎮滿族自治縣。1995年3月21日,民政部(民行批[1995]21號)批準:撤銷北鎮滿族自治縣,設立北寧市(縣級)。2006年2月8日,民政部(民函[2006]32號):同意將遼寧省北寧市更名為北鎮市。2006年3月7日,遼寧省政府《關于同意將北寧市更名為北鎮市的批復》(遼政[2006]44號):經國務院批準,同意將北寧市更名為北鎮市,其所轄行政區域不變,繼續執行民族自治地方的有關政策。
1996年,北寧市面積1782平方千米,人口約53.2萬人,其中滿族約33.8萬人。轄13個鎮、11個鄉:廣寧鎮、大市鎮、中安鎮、正安鎮、溝幫子鎮、青堆子鎮、羅羅堡鎮、趙屯鎮、高山子鎮、閭陽鎮、常興店鎮、窟窿臺鎮、廖屯鎮、大屯鄉、廣寧鄉、五糧鄉、汪家墳鄉、吳家鄉、柳家鄉、高力板鄉、曹屯鄉、富屯鄉、新立鄉、鮑家鄉。市政府駐廣寧鎮。
2000年第五次人口普查,北鎮市常住總人口527217人,其中(13個鎮、10個鄉):廣寧鎮40607人,溝幫子鎮57844人,大市鎮12720人,羅羅堡鎮22702人,常興店鎮22228人,正安鎮24313人,閭陽鎮30940人,中安鎮27989人,廖屯鎮22774人,窟窿臺鎮22791人,趙屯鎮27321人,青堆子鎮19347人,高山子鎮26701人,富屯鄉22149人,汪家墳鄉13655人,鮑家鄉13181人,高力板鄉13562人,曹屯鄉16078人,大屯鄉16490人,五糧鄉19732人,吳家鄉12076人,柳家鄉11579人,新立鄉3092人,廣寧鄉(本站注:非正式行政區劃)24317人,醫巫閭山風景名勝區3029人。
2002年1月31日,省政府(遼政[2002]34號)批復同意:撤銷曹屯鄉、廖屯鎮,合并設立廖屯鎮;撤銷新立鄉、吳家鄉,合并設立吳家鄉;撤銷窟窿臺鎮、中安鎮、五糧鄉、高力板鄉,將原中安鎮、窟窿臺鎮所轄行政區域及五糧鄉的前五糧等11個村,高力板鄉的高力板等7個村合并設立中安鎮;將高力板鄉的肖屯等3個村劃入正安鎮;將五糧鄉的平安臺村劃入青堆子鎮;撤銷廣寧街道、汪家墳鄉,將廣寧街道的望虎等12個村與原汪家墳鄉合并設立遼城鄉;將原廣寧街道所轄的其余的村委會、社區居委會分設北鎮、觀音閣、廣寧三個街道。除溝幫子鎮和3個街道外,其余鄉鎮繼續享受民族鄉待遇。3月,北寧市鄉鎮正式調整。
2002年6月,北寧市轄北鎮、廣寧、觀音閣3個街道,大市、正安、中安、羅羅堡、常興店、閭陽、溝幫子、廖屯、青堆子、高山子、趙屯11個鎮,富屯、鮑家、大屯、柳家、吳家、遼城6個鄉,下設35個社區、324個行政村,面積1782平方千米,人口約52.72萬人。有滿、漢、回等19種民族,其中滿族人口32.7萬人,占全布總人口的62.4%。
2010年第六次人口普查,北鎮市常住總人口514898人,其中:北鎮街道49153人,觀音閣街道2755人,大市鎮11329人,羅羅堡鎮21780人,常興店鎮21916人,正安鎮26083人,閭陽鎮29836人,中安鎮73774人,廖屯鎮34771人,趙屯鎮26209人,青堆子鎮21456人,高山子鎮19578人,溝幫子鎮62989人,富屯鄉19093人,鮑家鄉12605人,大屯鄉15472人,吳家鄉11198人,柳家鄉11012人,廣寧鄉36243人,遼寧省北鎮市高山子監獄4769人,新立農場2877人。
2013年,省政府(遼政[2013]159號)批復同意:撤銷吳家鄉,設立吳家鎮;撤銷富屯鄉,設立富屯街道;撤銷遼城鄉、廣寧街道,合并設立廣寧街道。2014年,設立沙河子街道(錦政[2014]27號);撤銷溝幫子鎮,設立溝幫子街道(遼政[2014]28號)。