上关镇,隶属于云南省大理白族自治州大理市,地处大理市洱海北岸,苍山云弄峰东麓。东接双廊镇和鹤庆县黄坪镇,南邻洱海,北靠洱源县邓川、右所2镇,行政区域面积129平方千米。根据第七次人口普查数据,截至2020年11月1日零时,上关镇总人口36565人。
上关镇古为邓赕诏属地。元、明、清,属邓川州。2000年,撤乡设镇。2004年1月1日,并入大理市,更名上关镇。截至2020年6月,上关镇下辖13个行政村,镇人民政府驻江尾街新区1号。
2011年,上关镇财政总收入707万元,比上年增长26%。农民人均纯收入3501元。2019年末,上关镇有工业企业4个,其中规模以上1个,有营业面积超过50平方米以上的综合商店或超市15个。