清代,境域分属千秋、仁声、仙槎乡。
1926年,始置万合乡。
1930年,始置樟塘乡。
1940年,分属万合、仁问、仁声、仙津4乡。
1949年后,分属高樟、万合、集义、啸峰、店边、塘尾、南坑、樟塘、严家、宁溪、袁家和塅坑乡及呻曾家乡的小部分。
1952年,分属南坑、樟塘、店边、啸峰、塘尾、严家、宁溪、集义、高樟、万合虎溪、袁家、曾家等乡。
1956年,高樟、万合、集义、虎溪、啸峰等乡合并为万合乡;店边、南坑、塘尾等乡合成立塘尾乡;樟塘、严家、宁溪乡全部,袁家乡大部、曾家乡小部合并成立樟塘乡。
1958年,万合乡、塘尾乡合并,成立万合公社;樟塘乡改称樟塘公社。
1961年,万合公社分为万合、集义、啸峰、塘尾4公社;樟塘分为樟塘、大鹏2公社;同年、集义公社并入万合公社,大鹏公社并入樟塘公社,属万合区。
1966年,啸峰公社、塘尾公社并入万合公社。
1968年,樟塘公社并入万合公社。
1972年,万合公社分为万合、樟塘2公社;1984年,公社改乡。
1999年,万合撤乡设镇。
2001年,樟塘乡并入万合镇,沿用至今。