Phường Hải Thượng nằm ở phía đông nam thị xã Nghi Sơn, có vị trí địa lý:
Phía đông giáp xã Nghi Sơn
Phía tây giáp tỉnh Nghệ An và xã Trường Lâm
Phía nam giáp tỉnh Nghệ An và xã Hải Hà
Phía bắc giáp các phường Mai Lâm, Tĩnh Hải và xã Hải Yến.
Phường Hải Thượng có diện tích 24,21 km2, dân số năm 2019 là 14.394 người, mật độ dân số đạt 595 người/km2.[1]