在唐河县南部。镇政府驻丁岗。丁岗在清水河南侧。上屯镇人民政府和丁岗村委会驻地。明初,丁姓自山西洪洞县迁此建村,地处平岗,故名。
1975年洪水后,上屯人民公社迁此,因原驻地为上屯,仍名。面积117平方公里。
明、清为唐河长秋保。
1913年属沘源县。
1921年为城关区。
1923年属唐河县。
1931年设上屯区。
1941年设联保,属城关区。
1947年属唐南县,为黑龙镇区和昝岗区。
1949年并入唐河县。
1953年复置上屯区。
1956年改中心乡。
1958年建上屯人民公社。
1962年复设区,下辖公社。
1968年撤区,并入长秋、下屯公社,仍称上屯人民公社。
1983年改乡,2000年乡改镇。