清代,境域分屬千秋、仁聲、仙槎鄉。
1926年,始置萬合鄉。
1930年,始置樟塘鄉。
1940年,分屬萬合、仁問、仁聲、仙津4鄉。
1949年后,分屬高樟、萬合、集義、嘯峰、店邊、塘尾、南坑、樟塘、嚴家、寧溪、袁家和塅坑鄉及呻曾家鄉的小部分。
1952年,分屬南坑、樟塘、店邊、嘯峰、塘尾、嚴家、寧溪、集義、高樟、萬合虎溪、袁家、曾家等鄉。
1956年,高樟、萬合、集義、虎溪、嘯峰等鄉合并為萬合鄉;店邊、南坑、塘尾等鄉合成立塘尾鄉;樟塘、嚴家、寧溪鄉全部,袁家鄉大部、曾家鄉小部合并成立樟塘鄉。
1958年,萬合鄉、塘尾鄉合并,成立萬合公社;樟塘鄉改稱樟塘公社。
1961年,萬合公社分為萬合、集義、嘯峰、塘尾4公社;樟塘分為樟塘、大鵬2公社;同年、集義公社并入萬合公社,大鵬公社并入樟塘公社,屬萬合區。
1966年,嘯峰公社、塘尾公社并入萬合公社。
1968年,樟塘公社并入萬合公社。
1972年,萬合公社分為萬合、樟塘2公社;1984年,公社改鄉。
1999年,萬合撤鄉設鎮。
2001年,樟塘鄉并入萬合鎮,沿用至今。