地处内蒙古和宁夏两区交界处,属鄂尔多斯高原西南边缘地带。地理坐标为北纬38°15′-38°17′,东经106°29′-108°52′,境内海拔高度在1240-1400米之间。南靠宁夏灵武市,西与银川市隔河相望,北接陶乐县,东邻本旗布拉格苏木。东西直线长33.5公里,南北直线宽45.5公里,与宁夏回族自治区沿边交界长达48公里。2020年7月,全国爱国卫生运动委员会重新确认上海庙镇为国家卫生乡镇。