1949年前属三区,称上唐镇,1950年后属四区,称上唐镇,1958年成立上唐公社,1966年改称上游公社,1972年仍称上唐公社。
1984年改为乡建制,并将上唐公社的棠下、姑余、坊头三个大队划出,与洪门公社划出的包坊、李敖、上乌石三个大队合并增设为包坊乡。
1985年上唐乡撤乡设镇,称上唐镇。
2001年1月,包坊乡撤销建制,将其所辖的棠下、姑余和坑头三个村划归上唐镇,仍称上唐镇。
2001年11月,将洪门镇包坊、李敖、上乌石三个大队划归上唐镇,仍称上唐镇。