唐大歷四年(769)在龍巖縣湖雷下堡置上杭場。
因其地形像木排沿溪向上航行,寓《詩經(jīng)·河廣》“誰謂河廣,一葦杭之”之義,稱上杭場。
大歷十二年(777)上杭場隸屬汀州長汀縣。
宋開寶八年(975),隸福建路汀州。
淳化五年(994)由場升縣,劃長汀縣南境歸上杭縣管轄,縣治在秇梓堡(今永定縣高陂北山),仍隸福建路汀州。
宋至道二年(996)縣治徙鱉沙(今白砂鎮(zhèn)碧沙村)。
咸平二年(999)徙語口市(今舊縣鎮(zhèn)全坊)。
天圣五年(1027年)徙鐘寮場(今才溪鎮(zhèn)榮石村)。
乾道四年(1168)縣治設(shè)來蘇里郭坊(今臨江鎮(zhèn))。
元至元十五年(1278),屬福建行中書省汀州路。
明洪武元年(1368)屬福建布政使司汀州府。
成化十四年(1478)析勝運二圖、溪南五圖、太平、金豐、豐田各四圖置永定縣。
清順治三年(1646),隸福建行中書省汀州府。
1913年屬福建省西路道(翌年改漳汀道)。
1926年直隸福建省。
1929年9月20日,紅四軍攻克縣城后成立上杭縣蘇維埃政府;1935年屬福建省第六行政督察區(qū),1940年重新劃歸第七行政督察區(qū)。
1949年9月17日,上杭縣人民民主政府成立,屬省第八行政督察區(qū)。
1950年4月,屬龍巖專員公署。
1955年劃出合甲鄉(xiāng)歸龍巖縣。
1957年劃出合溪鄉(xiāng)歸永定縣。
1958年1月劃入長汀縣三平區(qū)(今南陽鎮(zhèn))。
1961年劃出南陽公社東南大隊5個自然村歸連城,劃入永定縣合溪公社2個自然村。
1970年隸龍巖地區(qū)。
2014年末,隸屬龍巖市,轄15個鎮(zhèn)、5個鄉(xiāng)、2個畬族鄉(xiāng)。
2021年步云鄉(xiāng)并入古田鎮(zhèn),轄17個鎮(zhèn),2個鄉(xiāng),2個畬族鄉(xiāng),共21個鄉(xiāng)級政區(qū);下設(shè)12個社區(qū)居委會、332個行政村,共344個村(居);143個居民小組、3501個村民小組。
其中民族村40個,民族自然村205個。