上馆镇,隶属于山西省忻州市代县,上馆镇位于滹沱河北畔,雁门关南川,东连上磨坊乡,南隔滹沱河与新高乡为邻,为代县人民政府驻地所在地,区域总面积86.41平方千米。
1949年,上馆镇境域属代县第二区;2002年,由城关镇更名为上馆镇。截至2018年末,上馆镇户籍人口为53469人。截至2020年6月,上馆镇下辖29个行政村,镇人民政府驻西南街。
2018年,上馆镇有工业企业70个,其中规模以上4个,有营业面积超过50平方米以上的综合商店或超市122个。