唐山,因市区中部的大城山(原名唐山)而得名。城市随煤炭开发而兴起。商代属孤竹国与山戎国,战国为燕地,汉代属幽州。唐属平州、蓟州,辽金属南京道、中都路、北京路,元为中书省、大都路、永平路,明、清属顺天府、永平府、遵化州。清光绪三年(1877)建乔屯镇,后改为唐山镇。民国元年(1912年)政区建制均袭清制,1929年,直隶省改称河北省。1939年1月28日,伪冀东防共自治政府鉴于唐山具有经济、政治上的特殊地位明令唐山设市,初称“唐山市政府”,后改称“唐山市公署”,日本宣布投降后,驻北平的国民党派员接收日伪政权,设置督察专员公署。
1946年4月,中共河北省委员会第132二次会议通过唐山设市,同年5月5日,唐山市政府成立。1949年10月1日,中华人民共和国成立后,唐山市仍为省辖市,辖区12个。1955年3月,唐山市第一届二次人民代表大会将唐山市人民政府改为唐山市人民委员会,辖区未变。1958年4月28日,国务院批准唐山市规划唐山专区领导;同年8月29日,河北省第一届人民代表大会第七次会议决定,唐山专员公署驻地由昌黎县迁至唐山市。
1959年6月8日中共河北省委、省人委决定,唐山专署和唐山市人委合并改设唐山市人民委员会。1960年4月2日,国务院正式批准撤销唐山专区,原唐山专区管辖的秦皇岛市和迁安、昌黎、乐亭、宝坻、玉田、蓟县、遵化划归唐山市;唐山专区撤销后实际划归唐山市的还有滦县、丰润两县(原为市辖区)和柏各庄农场;同时,唐山市改为省辖市。
1961年5月23日,经国务院批准恢复唐山专区的建制。同年6月1日,河北省人民委员会第14次会议通过恢复唐山专区的决议。从此,唐山专区、唐山市分开,唐山市改为专辖市。1968年1月6日,唐山市革命委员会成立,隶属于唐山地区革命委员会。1978年3月11日,唐山市改为省辖市。1982年10月,唐山市第七届人民代表大会撤销唐山市革命委员会,建立唐山市人民政府。
1983年3月3日,国务院批准撤销唐山地区,与唐山市合并,实行市管县体制。同年5月13日,河北省人民政府通知撤销唐山地区行政公署,5月15日,唐山地区行政公署停止办公。1984年12月15日,国务院批准唐山市为全国13个“较大城市”之一。1996年,唐山市面积13472平方千米,人口约679.5万人。辖路北区、路南区、开平区、新区、古冶区5区和丰润县、迁安县、乐亭县、滦县、玉田县、迁西县、滦南县、唐海县8县,代管丰南、遵化2个县级市。市政府驻路北区。
2000年第五次人口普查,唐山市常住总人口7040554人,其中(5个市辖区、7个县,代管3个县级市):路南区330195人、路北区567476人、古冶区383209人、开平区266378人、新区164053人、丰润县715835人、滦县536151人、滦南县570535人、乐亭县497117人、迁西县353616人、玉田县650408人、唐海县138343人、遵化市683662人、丰南市550872人、迁安市632704人。
2002年2月1日,国务院批准(国函[2002]7号):调整唐山市部分行政区划。(1)撤销县级丰南市,设立唐山市丰南区,以原县级丰南市的行政区域为丰南区的行政区域。区人民政府驻胥各庄镇。(2)撤销丰润县和唐山市新区,设立唐山市丰润区,以原丰润县和新区的行政区域为丰润区的行政区域。区人民政府驻幸福道。
2008年10月,河北省政府批准成立曹妃甸新区,管辖“两区一县一城”,即曹妃甸工业区、南堡经济开发区、唐海县和曹妃甸新城,体制规格定为副市级,规划面积1943.72平方千米,陆域海岸线约80千米,常住人口约22万人。2009年3月14日,唐山曹妃甸新区暨曹妃甸承德临港工业园、曹妃甸秦皇岛临港工业园正式揭牌成立。经市政府批准,在行政区划不变的前提下,自2010年1月1日,滦南县柳赞镇正式由曹妃甸新区整体托管。
2009年末,唐山全市户籍总人口733.90万人,其中市区307.00万人;农业人口488.56万人,非农业人口245.34万人。
2010年第六次人口普查,唐山市常住总人口7577289人,其中:路南区311076人,路北区743504人,古冶区358461人,开平区262571人,丰南区595467人,丰润区916092人,滦县554315人,滦南县584518人,乐亭县526222人,迁西县390128人,玉田县684833人,唐海县184931人,遵化市737011人,迁安市728160人。
2011年1月28日,经省政府批准,将丰润区岔河镇南赵庄、萝卜坨、沙窝新庄3个村民委员会划归丰南区丰南镇管辖(冀政函[2011]16号)。
2012年7月11日,《国务院关于同意河北省调整唐山市部分行政区划的批复》(国函[2012]85号)同意撤销唐海县,设立唐山市曹妃甸区,将唐山市丰南区滨海镇划归曹妃甸区管辖。以原唐海县和丰南区滨海镇的行政区域为曹妃甸区的行政区域。曹妃甸区人民政府驻唐海镇垦丰大街23号。
2013年7月,市政府决定:在行政区划不变的前提下,(1)将丰润区韩城镇整体托管到路北区管辖,将凤凰新城整体划归路北区管理;(2)将丰润区老庄子镇实际管辖的17个行政村整体托管到唐山高新技术产业开发区管辖,将空港城开发区管委会划归唐山高新技术产业开发区管理,将空港城开发区托管的15个行政村(包括老庄子镇9个、石各庄镇6个)整体划转到唐山高新技术产业开发区托管;(3)将丰南区钱营镇管辖的大陈庄、大张各庄、王官屯、鲁庄子、王庄子、谢马庄、惊马林、小营、西五里屯、中五里屯、东五里屯11个行政村托管到开平区越河镇管辖。
2013年12月,市政府决定:在行政区划不变的前提下,(1)将丰南区稻地镇整体托管到路南区管辖;(2)将丰润区岔河镇整体托管到丰南区管辖;(3)将乐亭县王滩镇整体,汤家河镇的雷庄村、海田村2个行政村,马头营镇的八里桥村、安家海村、张庄子村、陈家铺村、九沟村、东南庄子村、小西关村、尹庄子村8个行政村,古河乡的张李铺村、尹郑刘村2个行政村托管到海港经济开发区管辖。
2014年,省民政厅(冀政函[2014]141号)批复同意将丰南区稻地镇划归路南区管辖。