1949年5月27日,上海市设黄浦、老闸、邑庙、蓬莱、嵩山、卢湾、常熟、徐汇、长宁、普陀、闸北、静安、新成、江宁、北站、虹口、北四川路、提篮桥、杨浦、榆林等20个区和新市、江湾、吴淞、大场、新泾、龙华、洋泾、真如、高桥等10个郊区。同时,上海的郊县划入苏南、苏北行署,后由江苏省管辖。1949年10月1日,上海市划分为20个市区和10个郊区。 [128]
1956年经过行政调整,上海市辖区减为18个,辖15个市区和3个郊区。1958年,为了适应城市发展的需要,将江苏所属上海地区的郊县划入上海市,至此,上海市辖黄浦、邑庙、蓬莱、卢湾、徐汇、长宁、普陀、闸北、新成、江宁、虹口、提篮桥、杨浦、榆林等14个区,浦东、嘉定、宝山、上海、崇明、松江、奉贤、南汇、青浦、川沙和金山等11个县,总面积达6340.5平方千米,比建国初大十倍以上。1960年1月,撤消邑庙、蓬莱设立南市区,有12个区和11个县。1960年3月,浙江省舟山县嵊泗人民公社划属上海市。1961年上海市辖12区、10县。1962年嵊泗又划归浙江省。1964年,撤消闵行区与吴淞区,此后上海保持了10个区和10个县不变达10余年之久。
文化大革命结束后,1980、1981两年,再置吴淞区与闵行区。1988年,撤消吴淞区和宝山县改为宝山区。1992年,撤消嘉定县,设立嘉定区。为进一步改革开放,1993年撤消川沙县,将其境域与黄浦、杨浦、南市的浦东地区和闵行的三林乡合并设立浦东新区。同年,撤消上海县和闵行区,组建新的闵行区。1995年,上海市辖浦东新区、徐汇、长宁、普陀、闸北、虹口、杨浦、黄浦、南市、卢湾、静安、宝山、闵行、嘉定等14区和南汇、奉贤、松江、金山、青浦、崇明等6县,有106个街道、208个镇、10个乡和3590个居民委员会、2986个行政村。面积6340.5平方千米,其中陆地面积6218.65平方千米、水面积697平方千米。 [14] 20世纪末,松江县、青浦县和金山县也改为区。
2000年,南市区划入黄浦区。2001年1月,奉贤县、南汇县撤县建区。2009年,撤销南汇区,将其行政区域并入浦东新区。 [15] 2011年,撤销黄浦区和卢湾区建制,组建新的黄浦区。 [16] 2015年,静安区与闸北区正式合并,组成新的静安区。 [17] 2016年,上海市下辖的崇明县撤县设区,改制为崇明区,此标志着上海市告别下辖县,上海市至此形成下辖16个市辖区的新局面。