Shangzhuang Town () is a town on the northern end of Haidian District, Beijing, China. It borders Machikou Town in the north, Shahe Town in the east, Xibeiwang Town in the southeast, Sujiatuo and Yangfang Town in the west. The 2020 census determined this area's population to be 71,554.
The name Shangzhuang () came from a village where the government of the town is located in.
In 2021, Shangzhuang Area covered 32 subdivisions, including 6 communities and 26 villages: