據(jù)傳在漢代筑堤擋海潮,堤西成湖,堤?hào)|泥沙淤積,遂成陸地。
隋開皇九年(589)置杭州;十一年移州治于柳浦西鳳凰山麓,依鳳凰山筑城。
后梁龍德三年(923)封錢镠為吳越國王,建都杭州,錢镠兩次擴(kuò)展羅城范圍,今上城區(qū)境域皆是都城中心。
自北宋至清末,分屬錢塘縣和仁和縣。
民國初屬杭縣。
1927年始建杭州市,屬杭州市城區(qū)。
1930年始為市轄區(qū),稱為城區(qū)。
1934年屬杭州市第一區(qū)、第二區(qū)。
1949年5月第一區(qū)更名為上城區(qū),第二區(qū)更名為中城區(qū)。
8月改為區(qū)公所。
1950年撤銷區(qū)公所。
1952年,恢復(fù)上城區(qū)建制。
1960年4月改稱為上城人民公社。
1962年5月重新改為上城區(qū)。
1964年1月將下城區(qū)橫河街道劃歸上城區(qū)。
1968年9月成立上城區(qū)革委會(huì),轄小營、涌金、湖濱、清波、清泰、城站、橫河7個(gè)街道。
1969年1月將南山街道劃歸上城區(qū),共轄小營、涌金、湖濱、清波、清泰、城站、橫河、南山8個(gè)街道。
1980年7月重新成立上城區(qū)人民政府,下轄清波、涌金、湖濱、小營巷、清泰、橫河、城站7個(gè)街道。
1997年1月將江干區(qū)望江、南星、紫陽、閘口4個(gè)街道和四季青鎮(zhèn)的近江村、望江村、玉皇村3個(gè)村劃入,下轄11個(gè)街道。
1999年4月撤銷3個(gè)村,區(qū)劃調(diào)整后轄湖濱、小營、城站、清波、近江、望江、南星、紫陽、閘口9個(gè)街道,下設(shè)67個(gè)社區(qū)。
2003年7月全區(qū)調(diào)整為小營、湖濱、清波、紫陽、望江、南星6個(gè)街道,2021年3月,因杭州市部分行政區(qū)劃調(diào)整,設(shè)立新的上城區(qū),以原上城區(qū)、江干區(qū)的行政區(qū)域(不含下沙街道、白楊街道)為新的上城區(qū)行政區(qū)域。