唐大历四年(769)在龙岩县湖雷下堡置上杭场。
因其地形像木排沿溪向上航行,寓《诗经·河广》“谁谓河广,一苇杭之”之义,称上杭场。
大历十二年(777)上杭场隶属汀州长汀县。
宋开宝八年(975),隶福建路汀州。
淳化五年(994)由场升县,划长汀县南境归上杭县管辖,县治在秇梓堡(今永定县高陂北山),仍隶福建路汀州。
宋至道二年(996)县治徙鳖沙(今白砂镇碧沙村)。
咸平二年(999)徙语口市(今旧县镇全坊)。
天圣五年(1027年)徙钟寮场(今才溪镇荣石村)。
乾道四年(1168)县治设来苏里郭坊(今临江镇)。
元至元十五年(1278),属福建行中书省汀州路。
明洪武元年(1368)属福建布政使司汀州府。
成化十四年(1478)析胜运二图、溪南五图、太平、金丰、丰田各四图置永定县。
清顺治三年(1646),隶福建行中书省汀州府。
1913年属福建省西路道(翌年改漳汀道)。
1926年直隶福建省。
1929年9月20日,红四军攻克县城后成立上杭县苏维埃政府;1935年属福建省第六行政督察区,1940年重新划归第七行政督察区。
1949年9月17日,上杭县人民民主政府成立,属省第八行政督察区。
1950年4月,属龙岩专员公署。
1955年划出合甲乡归龙岩县。
1957年划出合溪乡归永定县。
1958年1月划入长汀县三平区(今南阳镇)。
1961年划出南阳公社东南大队5个自然村归连城,划入永定县合溪公社2个自然村。
1970年隶龙岩地区。
2014年末,隶属龙岩市,辖15个镇、5个乡、2个畲族乡。
2021年步云乡并入古田镇,辖17个镇,2个乡,2个畲族乡,共21个乡级政区;下设12个社区居委会、332个行政村,共344个村(居);143个居民小组、3501个村民小组。
其中民族村40个,民族自然村205个。