北宋初年,苏州南部分设秀州(州治在今浙江省嘉兴市),华亭县即归属改属秀州管辖。这时华亭县以东的海滩,已经成为重要盐场,“人烟浩穰,海舶辐揍”,商业日益发达。宋宣和元年(1119年),随着松江(吴淞江,即苏州河)航道重新疏浚,县城以北松江南岸的青龙镇发展成为繁华一时的商业中心(今青浦区境内)。据宋诗人梅尧臣在《青龙杂志》中记载,青龙镇有二十二桥、三十六坊,还有“三亭、七塔、十三寺,烟火万家”,时人誉称“小杭州”。但当年作为华亭一个海口的上海,仍然是个荒凉的渔村。到南宋末年,由于吴淞江上游的淤浅,青龙镇逐渐丧失了作为长江口良港的地位,而日趋萧条冷落。这时,贸易中心转移到华亭县东北部,青龙镇下游70公里处的一条小河上海浦的西侧,那里由渔村变成初具规模的小镇。南宋咸淳三年(1267年),正式设立上海镇,并派镇将驻守。
此后不久,蒙古军队攻入江南,南宋灭亡。1277年(至元十四年),元朝在上海镇设立市舶司,与广州、泉州、温州、杭州、庆元(宁波)、澉浦(海盐)合称全国七大市舶司。本埠市舶司的衙门设在后来的上海县署内,即今小东门内方浜中路以南的光启路上。同年,又将华亭县升格为松江府。
1292年(至元二十八年),元朝正式设立上海县,县治在今天上海市中心黄浦区(包括原南市区),隶属于松江府,这是上海建县的开始。