1949年前屬三區(qū),稱上唐鎮(zhèn),1950年后屬四區(qū),稱上唐鎮(zhèn),1958年成立上唐公社,1966年改稱上游公社,1972年仍稱上唐公社。
1984年改為鄉(xiāng)建制,并將上唐公社的棠下、姑余、坊頭三個大隊(duì)劃出,與洪門公社劃出的包坊、李敖、上烏石三個大隊(duì)合并增設(shè)為包坊鄉(xiāng)。
1985年上唐鄉(xiāng)撤鄉(xiāng)設(shè)鎮(zhèn),稱上唐鎮(zhèn)。
2001年1月,包坊鄉(xiāng)撤銷建制,將其所轄的棠下、姑余和坑頭三個村劃歸上唐鎮(zhèn),仍稱上唐鎮(zhèn)。
2001年11月,將洪門鎮(zhèn)包坊、李敖、上烏石三個大隊(duì)劃歸上唐鎮(zhèn),仍稱上唐鎮(zhèn)。