上海市,源于吳淞江下游的漁村,南宋咸淳三年(1267年)前成鎮(zhèn),鎮(zhèn)因黃浦江西的上海浦得名。元至元二十八年(1291年)析華亭縣東北、黃浦江東西兩岸的高昌、長(zhǎng)人、北亭、海隅、新江5個(gè)鄉(xiāng),并于翌年正式設(shè)立上海縣,為松江府屬縣。1927年7月設(shè)上海特別市,1930年5月改稱上海市。
1949年5月27日,上海解放。全市劃為黃浦、老閘、新成、靜安、江寧、普陀、邑廟、蓬萊等20個(gè)市區(qū)和新市、江灣、吳淞、大場(chǎng)等10個(gè)郊區(qū)。1958年1月,上海、嘉定、寶山3個(gè)縣從江蘇省劃歸上海市;10月,設(shè)立浦東縣;11月,川沙、青浦、南匯、松江、奉賢、金山和崇明7個(gè)縣從江蘇省劃歸上海市。
1960年1月設(shè)立閔行區(qū)和吳淞區(qū)。1961年1月撤銷浦東縣。1961年3月至1962年5月,浙江省嵊泗列島劃歸上海市。1964年5月,撤銷閔行區(qū)、吳淞區(qū)。至此,上海市轄黃浦、南市、盧灣、徐匯、長(zhǎng)寧、靜安、普陀、閘北、虹口、楊浦10個(gè)市區(qū)和上海、嘉定、寶山、川沙、奉賢、南匯、松江、金山、青浦、崇明10個(gè)郊縣。
1980年10月設(shè)立吳淞區(qū)。1981年2月設(shè)立閔行區(qū)。1988年1月,撤銷寶山縣和吳淞區(qū),設(shè)立寶山區(qū)。1992年9月,撤銷上海縣和閔行區(qū),設(shè)立新的閔行區(qū)。1992年10月,以川沙縣全境、原上海縣三林鄉(xiāng)和黃浦、南市、楊浦3個(gè)區(qū)的浦東部分,設(shè)立浦東新區(qū);撤銷嘉定縣,設(shè)立嘉定區(qū)。1995年7月1日,上海市政府駐地由中山東一路12號(hào)遷至人民大道200號(hào)。
1997年4月,撤銷金山縣,設(shè)立金山區(qū)。1998年2月,撤銷松江縣,設(shè)立松江區(qū)。1999年9月,撤銷青浦縣,設(shè)立青浦區(qū)。2000年6月,撤銷黃浦區(qū)和南市區(qū),設(shè)立新的黃浦區(qū)。2001年1月,撤銷南匯縣,設(shè)立南匯區(qū);撤銷奉賢縣,設(shè)立奉賢區(qū)。2005年5月,寶山區(qū)管轄的長(zhǎng)興鄉(xiāng)、橫沙鄉(xiāng)劃歸崇明縣管轄。
2009年4月,撤銷南匯區(qū),其行政區(qū)域范圍劃入浦東新區(qū)。2011年5月,撤銷黃浦區(qū)、盧灣區(qū),設(shè)立新的黃浦區(qū)。至此,上海市轄浦東新區(qū)、黃浦、靜安、徐匯、長(zhǎng)寧、普陀、閘北、虹口、楊浦、寶山、閔行、嘉定、金山、松江、青浦、奉賢16個(gè)區(qū)和崇明1個(gè)縣。