宝山因山而得名。明永乐十年(1412年),境内海滨,曾用人工堆筑成一座土山,用作航海标志,为出入长江口的船只导航,永乐皇帝定其名为宝山。此山于1582年(明万历十年)坍没于海,但其名仍沿用至今。
宝山原属江苏省,1724年(清雍正二年)从嘉定县分出,建为宝山县。建县时,县境东、北至长江,南至今闸北天目路,西至与嘉定交界的界泾、杨泾,东南至黄浦江以东高桥一带,西南至真如地区,东西长38公里,南北宽41.5公里,面积419平方千米。
(淞沪铁路吴淞车站)
1928年(民国17年),闸北、江湾、殷行、吴淞、彭浦、真如、高桥等7个市乡划归上海特别市,境域面积缩小一半。
1937年(民国26年)以后的抗日战争期间,全境划归上海市,蕰藻浜以北地区为宝山区,浜南分属市中心区(江湾)和沪北区,长兴归浦东北区。抗日战争胜利后,除大场划归上海市外,其余按战前建制,重归江苏省,面积约200平方千米。解放后,初属苏南行政区,后隶江苏省。
(清光绪年间吴淞炮台大门)
1958年全境划归上海市,同年横沙岛和北郊区并入,境域向东向南延伸,东缘至横沙岛东侧海岸,南缘至广中路、大连西路和走马塘一线,以前划出的江湾、殷行、吴淞和大场重归宝山,面积扩大为443.64平方千米。
1960年划出吴淞镇及蕰藻浜以南长江路两侧成立吴淞区,1964年吴淞区并入杨浦区。
1980年以后因宝钢建设需要,在上海市人民政府宝钢地区办事处基础上,重新成立吴淞区,城厢镇和吴淞、淞南、庙行、月浦、盛桥等乡的一部分也归吴淞区。1984年市中心区扩大,划出江湾、五角场两镇和南部地区部分农村归虹口、杨浦、闸北、普陀等区。1988年1月,经国务院批准,撤销宝山县和吴淞区建制,建立宝山区。6月成立中共宝山区委员会,9月完成撤建工作。因区划变动,1989年11月、1992年9月,宝山区五角场乡、彭浦乡先后划归杨浦区、闸北区。
1997年9月,辖区内原江湾机场8.6平方千米和共康小区部分区域0.726平方千米分别划归杨浦区、闸北区。
2005年5月31日起,崇明县对原属宝山的长兴、横沙两乡行使行政管理职能。