Xã Thượng Hà nằm ở phía bắc huyện Bảo Lạc, có vị trí địa lý:
- Phía đông giáp xã Cô Ba
- Phía tây giáp xã Bảo Toàn và xã Cốc Pàng
- Phía nam giáp thị trấn Bảo Lạc và xã Hồng Trị
- Phía bắc giáp Trung Quốc.
Xã Thượng Hà có diện tích 62,02 km², dân số năm 2019 là 4.348 người[2], mật độ dân số đạt 70 người/km².