国民党军主力部队或被歼或撤走之后,残余部队仍在苏州河以北市区,利用高大建筑物和核心工事固守。为了保护市区工商业与建筑免遭破坏,第三野战军部队不能使用重武器掩护攻击,屡屡受阻于高大建筑物,造成不少伤亡,所谓“瓷器店里捉老鼠”,难度很大。中共上海地下党遂通过关系与刘昌义建立联系,由攻击部队首长令其率部投诚。刘昌义本与民革有关系,此时见大势已去,于26日晨率苏州河北的国民党军残部4万余人放下武器。当日,第三野战军部队攻占浦西宝山、吴淞、真如、大场、杨行和浦东高桥。27日,国民党第21军第230师在杨树浦投降,第三野战军进占上海全城。随后第三野战军又于30日乘胜登陆崇明岛,6月2日占领全部崇明岛。
上海战役是国民党军于全面败退中进行的一次较长时间防守作战,国民党军利用坚固工事,在炮火支持下固守,并因保持海口退路而有一定的回旋余地。第三野战军部队采用东西两翼并进的钳形攻势,首先攻击上海外围,歼灭国民党军有生力量,避免市区的破坏,战略上是正确的。但因为渡江后的进军途中未遇大的抵抗,攻击之初有所轻敌,急切行事,造成较大损失,后经调整部署,加强兵力,改变战术,很快即打开局面。国民党声称要坚守半年的上海,最后不过守了半个月即败退而去,这也是国民党军最后一次还像点样的防守作战。此后国民党军基本是一路败退,再也无力组织这样的作战了。