第三節 渡江戰役與淞滬戰役
2024-10-02 04:38:15
作者: 姜濤,卞修躍,虞和平;謝放等
經過1948年底至1949年初的遼瀋、淮海、平津三大戰役,國民黨軍的精銳主力基本喪失,所餘部隊雖然還有204萬人,其中陸軍71個軍227個師115萬人,但多殘破不堪,缺額甚多,平均每師不過5000人,不少部隊為被殲後再編成,多為新兵,素質低下,裝備低劣,士氣低落,沒有多少戰鬥力,只有海空軍方面還有一定的優勢。這些部隊分布在長江以南和西北、西南的廣大地區,因為數量有限,部署捉襟見肘,難以形成有效的防禦體系,其中主要者為三大集團,即京滬杭警備總司令部所轄38萬人(總司令湯恩伯),華中「剿總」所轄24萬人(總司令白崇禧,李宗仁上台後改稱華中軍政長官公署),西安綏署所轄20萬人(主任胡宗南),國民黨軍少數未受殲滅性打擊、還有一定戰鬥力的部隊也主要集中在這三大集團。此外,西北地區還有青、寧、甘三省的馬步芳和馬鴻逵部9萬人,新疆警備總司令陶峙岳部8萬人,西北軍政長官公署綏遠指揮所主任董其武部6萬人;華北尚余山西太原、大同,豫北新鄉、安陽和山東青島等孤立據點的部隊15萬人;而在國民黨視為大後方的西南廣大地區,僅有重慶綏署所轄的部隊10萬人(主任張群)。以這樣的殘兵敗將,即便是最為死硬反共的國民黨人,也明白很難再抵擋中共大軍即將發起的渡江攻勢。為了緩解兵員缺乏、兵力不足的燃眉之急,國民黨在其後方設立了14個編練司令部,緊急徵召新兵,整訓成軍,以圖充實江南防線,但在國民黨全面敗退的大環境下,編組新軍之事進展緩慢。據1948年9月蔣介石致廣東省政府主席宋子文電,廣東當年已徵兵額,「尚不及配額二分之一,影響前方補充至巨」;要求嚴令各地「特別注重役政……以徵兵為行政中心工作最重要之項目,切實協同各級管區,如期如數征足配額。……如有陽奉陰違,辦理不力者,應視同貽誤軍機,即予撤職嚴辦。」即便如此,國民黨軍編組新軍仍未如其預期,已編成的新軍也基本未能發揮重要作用。
徐蚌會戰結束後,國民黨軍從長江北岸退守江南,西起湖北宜昌,東至江蘇南通,長達數千里的寬闊長江,成為國民黨軍最重要的防線。從歷史經驗而言,長江並不是中國統一的真正障礙,但剛剛在三大戰役中損兵折將、師老兵疲的國民黨軍,也只能利用「長江天險之利,拒止匪於長江以北,爭取適當時間,重新整備新生戰力,企圖再舉」。擔任國民黨軍江防作戰的計有155個師70萬人,並得到海軍江防、海防艦隊和空軍支持,其中由湯恩伯指揮75個師45萬人,擔任江西湖口以東的長江江西、安徽、江蘇段的防務,白崇禧指揮40個師25萬人,擔任湖口以西的長江湖北、湖南段的防務。國民黨軍長江防線面臨的最大問題是防線過長而部隊太少,湖口以東平均每師的防守正面長至50公里,又不能控制有力的預備隊,因此只能採取缺乏縱深的正面一線式布防,「各部隊均直接配備,缺乏打擊兵力,致使匪一旦渡江成功,國軍江防全線即告潰決」。負責指揮江防作戰的湯恩伯和白崇禧有不同的考慮重點。湯恩伯為蔣介石的親信干將,在防守上最為關註上海,負有在情況不利時掩護上海撤運物資並將部隊轉運台灣的任務,因此隨時準備自防地東撤,向上海收縮,依託海口,俾便進退自如;白崇禧為桂系統兵之將,與蔣系素有隔閡,除了力圖保持部隊的實力外,更為關注桂系的根據地——廣西,因此隨時準備南撤,以湘西山地掩護廣西後方。雙方考慮重點的不同,直接影響到國民黨軍的長江布防。湯恩伯以京滬杭三角地帶為布防重點,以淞滬地區為防守核心,準備首先依靠長江防線阻擋中共部隊渡江,然後在不利時將鎮江以東的部隊撤至淞滬,鎮江以西的部隊撤至浙贛路,再不利時即退守舟山與台灣。具體兵力部署是:淞滬地區3個軍,鎮江至上海4個軍,南京正面4個軍,南京以西至銅陵2個軍,銅陵至湖口2個軍,另在鎮江附近集結2個軍、皖南集結2個軍作為機動部隊,還有7個軍部署在浙贛鐵路及浙北、浙東。根據湯的部署,在江防一線部隊19個軍中,南京及其以東有13個軍,而南京以西至湖口,雖然防線長度超過南京以東,但只有6個軍,尤其是湯、白兩部結合部的兵力部署更為單薄,幾成空白。就當時國民黨軍的實力而言,確無在長江全線布防作戰的能力,因「長江江防過於寬廣,處處設防,絕難周全」,平均分配兵力將被各個擊破,湯以南京以東為重點自有其道理;但就長江防禦而言,湯的部署在南京以西留下了重大缺口,一旦中共大軍突破,勢將切斷湯部與白部的東西聯絡,打亂其防禦體系,並自皖南分進江西、浙江,造成迂迴國民黨軍後路的有利局面。南京國防部認為,湯的部署偏重於南京以東以迄上海而忽視皖南,提出應調動部分兵力至南京以西,適當保持長江防線的兵力平衡。但湯恩伯既不準備守長江全線,所以也無意改變部署。3月18日,他到溪口向蔣介石報告長江防務計劃,蔣表示「決心固守上海,甚以為然,但認皖南防禦薄弱,惟有於戰術上與方略上圖謀補救之耳」。最後國防部決定自南京增調第20軍和第96軍至蕪湖至安慶一線。4月20日,北平和談最後破裂,國民黨軍參謀總長顧祝同電令各防區,「判斷匪軍有於本月二十日前後,利用夜間向我渡犯之企圖」,「國軍決固守長江,擊滅任何地區渡犯之匪於水中」,「我江防各部隊應速即自行調整部署,立刻集結兵力及各種輕重武器,直接配備於鞏固匪軍渡點之我岸(或沙州),加強戒備,並於其後方嚴密戒備監視,以便集中全力,適應戰機,擊滅渡河之匪」。
渡江戰役發起前,中共領導的中國人民解放軍總數已達到了400萬人。隨著部隊即將渡江向全國進軍,以所在地區命名野戰軍的方式已不適應新的形勢要求,1949年1月15日,中共中央軍委決定全軍統一按數字排列整編為野戰軍、兵團、軍建制。其後,西北野戰軍改稱第一野戰軍,轄第1、2兵團7個軍16萬人,司令員兼政委彭德懷,副司令員張宗遜、趙壽山,參謀長閻揆要,政治部主任甘泗淇;中原野戰軍改稱第二野戰軍,轄第3、4、5兵團9個軍1個特種兵縱隊28萬人,司令員劉伯承,政委鄧小平,參謀長李達,副政委兼政治部主任張際春;華東野戰軍改稱第三野戰軍,轄第7、8、9、10兵團15個軍1個縱隊1個特種兵縱隊58萬人,司令員兼政委陳毅,副司令員兼第二副政委粟裕,第一副政委譚震林,參謀長張震,政治部主任唐亮;東北野戰軍改稱第四野戰軍,轄第12、13、14、15兵團12個軍及特種兵90萬人,司令員林彪,政委羅榮桓,參謀長劉亞樓,政治部主任譚政;華北野戰軍各兵團改稱第18、19、20兵團,轄9個軍24萬人;另外,還設有西北、中原、華東、東北、華北軍區,統領各地方部隊。經過三大戰役的歷練,殲滅對手重兵集團的大規模會戰和攻擊對手堅固設防的城市這兩關已過,統帥部的戰略籌劃、指揮部的戰術運用與作戰部隊的技戰術水準均達到建軍後的高峰,物質上與心理上均占據著優勢,再經過三個月的休整,全軍士氣高昂,整裝待發,做好了向全國進軍的各項準備。
還在三大戰役進行過程中,1948年12月12日,中共中央軍委密電淮海戰役總前委領導人,提出向全國進軍的初步設想,即以華東、中原野戰軍進軍東南,東北野戰軍進軍中南,華北與西北野戰軍會合進軍陝、甘、川。在中共中央和毛澤東部署向全國進軍時,渡江作戰是重點,其中又以江蘇、安徽段的渡江作戰為重中之重,因為只要攻占了南京與上海,即可繼軍事勝利之後加速國民黨的政治經濟敗亡。淮海戰役結束後,國民黨軍退守江南,第二野戰軍和第三野戰軍部隊全線進至長江北岸,準備發起渡江作戰。淮海戰役總前委也於此時易名為渡江戰役總前委,繼續統籌負責第二野戰軍和第三野戰軍全軍的渡江作戰及城市接管等項任務。總前委最初建議在1949年3月底前發起戰役,以避開俗稱「桃花汛」的長江春汛,減輕渡江困難,並可利用國民黨軍準備不足之機。1949年2月11日,中共中央軍委復電同意總前委的建議,但後來因為北平和談,出現了和平渡江的可能,中共又決定在和談期間暫不渡江。北平和談開始後,中共中央曾就何時渡江為有利多次徵求總前委的意見。總前委認為,部隊的渡江準備已經基本完竣,現時渡江把握頗大,無論和平還是戰鬥過江,均以先過江為有利,而5月以後長江進入漲水期,勢必加大渡江的困難,主張於4月中旬即行渡江。中共中央權衡利弊,同意了總前委的提議。4月15日,中共向南京代表團提出和平協定最後修正案,並將對方答覆時間定為20日。16日,毛澤東電告總前委:「你們的立腳點應放在談判破裂用戰鬥方法渡江上面。「17日,他又告總前委「我軍何日渡江,完全由我方選擇,不受任何約束」,指示按22日為期,完成一切渡江準備,「並必須爭取一舉成功」。18日,他再告總前委:如果和談破裂,則於20日開始渡江,「一氣打到底,完成渡江任務以後,再考慮略作停頓,採取第二步行動。請你們即按此總計劃堅決地徹底地執行之。此種計劃不但為軍事上所必需,而且為政治上所必需,不得有任何的改變。」第二野戰軍與第三野戰軍大軍的渡江時間於此確定。
橫貫中國中部的長江,素為南北分界之天然屏障,自宜昌以下的中流江段,水量充沛,流向複雜,南京以東江段更寬達數里,有利於國民黨軍憑江據守。但因為國民黨軍兵力不足,既無法充分設防,又不能保持充足的預備隊,防禦體系漏洞甚多,而且一旦被突破即無力反擊。對於中共而言,渡江的難點首先在於部隊官兵多為北方人,不習水性,又無經驗;其次在於沒有機動艦船,只能依靠木帆船渡江;再次在於江河作戰具有與陸地作戰不同的特點。為此,擔任渡江作戰的第二野戰軍和第三野戰軍部隊,在戰前進行了反覆的演練,以提高江河作戰的技戰術水平,尤其著重對半渡中的特殊情況和登陸初期搶占灘頭陣地與擴張戰果的戰術演練;同時,動員了224萬民工擔任後勤支援,尤其著重渡江船隊的編組訓練,並徵集民船9400艘,培訓水手數萬名,並將渡江船隊編為突擊、護航、運輸三個集團,確保渡江第一波攻擊的有序有效及第二波攻擊的跟進支持。在兵力部署方面,根據南京以西江段國民黨軍兵力薄弱,易於突破,且江面較窄易渡的情況,將攻擊部隊的2/3置於南京以西。以第三野戰軍第8、10兵團8個軍35萬人組成東集團,由粟裕、張震指揮,其中以2個軍牽制南京當面國民黨軍,6個軍在江蘇揚中至江陰段渡江,然後南進京滬鐵路;以第三野戰軍第7、9兵團7個軍30萬人組成中集團,由譚震林指揮,在安徽蕪湖至樅陽段渡江,實行中間突破,然後向南轉東擴展,經皖南、浙北東進,直指京杭公路;中、東兩集團突破後,利用長江南京段向北方突出的地理環境,形成東西對進的鉗形攻勢,切斷守江國民黨軍退路,分割、包圍並殲滅國民黨軍;以第二野戰軍第3、4、5兵團9個軍35萬人組成西集團,由劉伯承指揮,在安徽樅陽至望江段渡江,得手後即南進浙贛路,切斷國民黨軍湯恩伯和白崇禧兩大集團的聯繫及湯集團西退通路。3月31日,總前委制定了《京滬杭戰役實施綱要》,提出此役關鍵在渡江,「只要我軍渡江成功,無論敵人採取何種處置,戰局的發展均將發生於我有利之變化,並可能演成敵人全部混亂的局面。」為了確保渡江作戰的成功,中共中央軍委還命令第四野戰軍派出先遣兵團2個軍,南進至平漢路花園孝感一線,以牽制武漢方向的白崇禧集團不敢東援。
1949年3月下旬,第二野戰軍和第三野戰軍首先對長江北岸的殘餘國民黨軍據點發動攻擊,掃除渡江障礙。4月20日,南京國民黨政府拒絕在北平和平協議上簽字,中共中央軍委決定立即發起渡江戰役。當晚6時,第三野戰軍中集團率先開始渡江,船隊啟航過長江中線後,始為南岸國民黨軍發現,遭到炮兵轟擊及艦隊攔截,渡江船隊冒著槍林彈雨實施強渡。晚9時,第27軍首先突破國民黨軍防線,在長江南岸荻港至舊縣之間登陸。其後,後續部隊源源而至,到21日晨,中集團第一梯隊4個軍全部登上長江南岸,建立了穩固的灘頭陣地,接應第二梯隊渡江,並開始向縱深擴展。湯恩伯得知此情後,匆匆由南京趕到蕪湖,指揮所部實施反擊作戰,並下令自南京調動第99軍增援,企圖鞏固江防陣地。但國民黨軍已是軍心渙散,毫無鬥志,第三野戰軍部隊剛剛過江,國民黨軍江防部隊即全線放棄陣地後撤。21日,第三野戰軍中集團進占銅陵和繁昌,隨後按預定部署轉入追擊作戰。
第三野戰軍中集團實行中路突破,成功渡江,在國民黨軍長江防線撕開了一個缺口,使國民黨軍更無信心守住江防。21日晚,第三野戰軍東集團和第二野戰軍西集團分別在江蘇和安徽預定江段成功渡江,次日東集團占揚中和江陰,西集團占貴池、安慶和馬當要塞。長江江防門戶——江陰要塞的國民黨軍炮兵總隊及守備總隊7000餘人起義,反戈一擊,封鎖了國民黨海軍艦隊的出江退路。隨後,國民黨海軍第二艦隊司令林遵率部在南京以東江面起義。從20日晚到21日晚,長江江面千船齊發,百舸爭流,第二野戰軍和第三野戰軍的百萬大軍成功地以木帆船在超過數百公里的寬正面渡江,使兵力薄弱的國民黨軍防不勝防,加上渡江前有充分的準備和預案,渡江過程較為順利,國民黨軍經營數月的長江防線一觸即潰,江防部隊開始了大潰退。
第三野戰軍中、東兩集團部隊過江後,對南京形成包抄之勢,國民黨軍已無力再守南京。22日,國民黨政府匆匆決定撤守南京。23日晚,第三野戰軍第35軍自江北浦口渡江進入南京,次日占領南京全城。據報告,由於渡江作戰進展甚速,中共南京地下黨又有組織地進行了各方面的部署,南京秩序基本如常,「破壞不大,房屋一般完好,僅國民黨部、特務機關、司法行政部、國防部等機關為反動派撤退時自行破壞」。
第二野戰軍和第三野戰軍大軍渡江後,國民黨軍隊的防禦體系被打亂,國民黨軍已無法組織有效的抵抗。22日,京滬杭警備總司令部倉促下達撤退令,決定將鎮江以東的4個軍東撤至上海,鎮江以西的12個軍南撤至浙贛線。但是,京滬杭警警備總司令部在下令後即匆匆撤往上海,對南撤部隊失去掌握,對部隊轉進撤退時的指揮關係、道路區分、掩護收容及轉進目標等等沒有詳細指示,致數十萬部隊之「轉進作戰,既缺乏預定計劃,更無充分準備,第一線各軍師,在匪軍強勁壓力下,脫離戰鬥,無統一指揮與管制,致彼此爭先恐後,秩序混亂」;「各級指揮機構,爭先撤離,以致通信聯絡中斷,既無強有力之統一指揮,更未設置第二線陣地,任令大軍相互爭道,各自為戰,終至被匪軍各個擊破」。渡江戰役發起時,總前委曾指示:「在戰術上仍應穩紮穩打,有組織有準備進行戰鬥,防止輕敵亂碰。」戰役發起後,根據國民黨軍迅速敗退的動向,粟裕認為:「我全線渡江後,定將造成敵之紊亂,尤以南京上游敵機動兵力既少又弱。我應乘登陸勝利之威,迅速展開,插向敵之縱深。如此不僅使敵無暇調整部署,且將促成敵之更大混亂,達成分隔包圍。」渡江指揮部隨後即令西集團經皖南直出浙贛線,切斷湯恩伯和白崇禧集團的聯繫;中集團自皖南的宣城和廣德向東、東集團越過京滬鐵路經蘇南的金壇和溧陽向南,截斷京杭公路,在太湖以西合圍敗退中的國民黨軍;同時要求各部隊發揚連續作戰的精神,乘國民黨軍撤退混亂,未及形成新防線之機,大膽穿插,迂迴包圍,超越追擊,力求殲滅當面國民黨軍。23日,東集團占領鎮江、常州和無錫,切斷京滬鐵路;中集團占領蕪湖。其後,中集團在皖南殲滅國民黨2個軍,隨後與東集團在太湖西南合圍殲滅國民黨4個軍;西集團於5月5日占領鷹潭,6日占領衢州、金華,控制了浙贛線,完成了切斷湯恩伯和白崇禧兩集團聯繫的任務;餘下的國民黨6個軍亦被殲大半。5月底,第二野戰軍一部已進至福建北部的建甌、南平地區。其後,第二野戰軍停留在浙贛路休整,既監視白崇禧集團,又準備對付美國可能的干涉,第三野戰軍則以第7兵團進攻杭州並向浙南進軍,第8兵團控制南京及其周邊和皖南,第9、10兵團準備攻擊上海。
在半個月的時間裡,第二野戰軍和第三野戰軍百萬大軍進軍千里,殲滅國民黨軍44萬人。第三野戰軍司令員陳毅總結說:百萬大軍十天內外進軍千里,橫渡長江天險,平均一天進軍一百里,普通老百姓空身走路,也沒有這樣快,完全出乎我們意料之外。我們原先認為渡過長江需要經過三四天甚至一個星期的惡戰,或者渡過去了站不住腳又被打回來,或者只能占領灘頭陣地逐步發展,不能像秋風掃落葉一樣橫掃千里,原來準備在無錫、南京要打一下,一個半月打下南京,結果三天就實現了計劃。國民黨戰史亦承認:「匪軍全面渡江後,立即開始追擊,其積極行動,出奇快速,幾使國軍無法實施有組織之抵抗,於是江南各省,迅即為匪軍所進占,而數十萬國軍主力,亦大部旋告潰失。」
在湖口以西的長江江段,由國民黨華中軍政長官公署主任白崇禧指揮20個軍47個師33萬人擔任防守任務,並得到海軍江防艦隊和空軍的支持。白崇禧並不希圖長期堅守江防,他將張淦的第19兵團部署在平漢路正面信陽以南地區,宋希濂的第14兵團部署在鄂西襄樊、宜昌地區,機動配置,以保持預警撤退的時間和空間,主要打算仍是在鄂西、湘西山地與中共周旋,確保廣西後方的安全。北平和談前,白崇禧與中共建立聯繫,希望達成局部停戰妥協,而中共也希望爭取桂系反蔣,加快勝利進程;同時,預定擔任進軍中南任務的第四野戰軍部隊歷經數月戰鬥,需要一段時間的休整。因此,中共與白崇禧的代表商定,白部退到平漢路花園以南,中共部隊暫不南進,等待談判達成協議後和平接收。但桂系最終拒絕了和平解決方案,軍事解決遂不可免。4月28日,中共中央軍委指示說:「和談破裂,桂系亦從來沒有在具體行動上表示和我們妥協過,現在我們亦無和桂系進行妥協之必要。因此我們的基本方針是消滅桂系及其他任何反動派。」只是因為「第四野戰軍主力還要一個多月才能到達漢口附近,接收漢口的準備工作尚未做好,因此,白崇禧和中央聯絡的電台暫時仍不割斷,蕭陳前線亦應遵守前定界線不要超越,以免刺激漢口敵軍驚慌,撤走得太早」。在第二野戰軍和第三野戰軍部隊渡江前後,第四野戰軍先遣部隊在湖北前線對白崇禧部保持了一定壓力,以牽制白部的行動。
第二野戰軍和第三野戰軍大軍成功渡江、湯恩伯部隊潰敗之後,白崇禧感到守衛江防的困難,令在長江北岸的張淦兵團後撤武漢,宋希濂兵團後撤宜昌、沙市,並有繼續南撤的動向。此時第四野戰軍主力部隊正在陸續南進途中,為在國民黨軍撤退時可以迅速跟進,第四野戰軍決定一方面加快主力南進速度,另一方面準備發起渡江作戰。5月初,第四野戰軍全軍自平津地區南下。15日至16日,第四野戰軍先遣兵團2個軍在武漢以東武穴至團風段發起渡江作戰,基本沒有遇到國民黨軍像樣的抵抗,順利渡過長江,進迫武漢。15日,國民黨華中軍政長官公署副長官兼第19兵團司令、河南省政府主席張軫率2個軍4個師25000餘人,在武昌以南的金口地區起義。16日,白崇禧決定放棄武漢,沿粵漢路兩側向湖南和江西的贛江西岸撤退,以利用湘、鄂、贛山川湖沼地帶,遲滯中共部隊的前進。17日,第四野戰軍部隊占領全部武漢三鎮和江西九江,並在當月底正面沿粵漢路推進到咸寧、崇陽、通城一線,逼近湖南的北大門岳陽,側翼在江西沿鄱陽湖西側和贛江西岸向南擴展,22日進占南昌。
第三野戰軍發起渡江作戰後最重要的攻擊目標是上海。4月27日,第三野戰軍部隊進占蘇州,5月3日進占杭州,從西、南兩面逼近中國最大的工商業與經濟中心城市——上海。上海雖集中了20餘萬國民黨軍,但從軍事角度而言是守不住的,只是上海人口眾多,情況複雜,中共如何順利有序地接管上海並維持其日常生活與社會秩序的運轉正常,是一項艱巨的任務,因此,中共中央軍委指示第三野戰軍暫時不急於攻擊上海,而是先做好各項準備工作,「何時占領上海,要等候我們的命令」。在此期間,總前委組織接管幹部集中培訓,學習接管政策。中共上海地下黨則利用上海人民團體聯合會、工協、職協、教協、學聯等群眾組織,組織糾察隊,開展護廠護校,準備裡應外合;同時積極策動國民黨軍將領起義,策動以顏惠慶為首的地方維持會在必要時維持地方秩序。
國民黨軍在江防作戰前後,也在加緊準備上海防守作戰。4月1日,上海市市長吳國楨辭職,由秘書長陳良代理其職務。南京失守後,京滬杭警備總司令部撤至上海,成為防守上海的最高指揮機構,其下有石覺任司令的淞滬防衛司令部負責作戰行動,陳大慶任司令的淞滬警備司令部負責市區警備。擔任防守上海的有9個軍25個師22萬人,其中浦西外圍與市郊部署5個軍,市區部署1個軍,浦東部署2個軍,崇明島部署1個軍。上海地勢平坦,周邊缺乏高地掩護,市區由黃浦江分為浦東和浦西,浦西又以蘇州河為南北分界。國民黨軍主要依靠築工事守備,浦西從吳淞以西逶迤向南,經月浦、楊行、劉行、大場、真如、虹橋、龍華直至浦江,浦東從高橋向南經高行、洋涇、塘橋,構築了長數十公里,縱深數公里,有鋼筋水泥碉堡數千座、掩體萬餘處的守備主陣地。其間以戰壕相連,形成交叉火力配備,外圍有壕溝障礙和布雷區,要求「以永久工事為骨幹,構成面的環形陣地」,「徹底掃清陣地內及陣地前一公里以內之射界,構成濃密交叉火網;同時,並動員一切資財,設置大縱深之障礙與阻絕(含雷區),完成火點間之掩蓋交通線,以造成無法超越之死線」。在市區則利用高樓林立的條件,依託高大堅固建築物,構築核心陣地,準備在外圍作戰不利時據此固守。在部署上,浦西重於浦東,蘇州河北重於蘇州河南,特別注重保持出海口之吳淞、高橋核心陣地,以保證海上退路的通暢。總的防守目標:「集中適當兵力,利用淞滬堅固工事,確實組織並發揮陸海空殲滅性之聯合戰力,及運用一切人力物力財力,保證足以抗衡任何強大之攻擊,待消耗衰竭匪之攻擊力量後,再行轉移攻勢,擊滅犯匪。"4月26日,蔣介石由溪口親至上海,召集參謀總長顧祝同、空軍總司令周至柔、海軍總司令桂永清、聯勤總司令郭懺,以及湯恩伯、石覺、陳大慶等高級將領討論防守方略,要求堅守上海6個月,以待時局變化,同時緊急搶運上海物資,至5月中旬,列入運輸計劃的54000噸物資已運走13000噸。
粟裕在指揮第三野戰軍攻擊上海時考慮過三個作戰方案:一是長圍久困,但國民黨軍據有海口,不易收效;二是攻擊蘇州河以南國民黨軍防守薄弱地帶,但這裡是上海市區的精華所在,難免造成破壞;三是從東西兩翼迂迴攻擊吳淞,封鎖國民黨軍退路,這樣可殲滅國民黨軍部隊,減少對市區的破壞,但自身亦將有較大傷亡。權衡利弊,粟裕仍決定採用兩翼攻擊吳淞的方案,以殲滅國民黨軍有生力量,儘量減少對市區的破壞。此案得到了中共中央軍委的批准。5月10日,第三野戰軍發布淞滬戰役作戰命令,決定以兩路會攻上海,其中第10兵團2個軍,第8、9兵團各1個軍,自西北攻擊浦西吳淞、寶山,封鎖黃埔江口,截斷國民黨軍退路,然後再攻擊蘇州河以北市區;第9兵團3個軍和第10兵團1個軍,自東南攻擊浦東奉賢、南匯、川沙、高橋,然後再攻擊蘇州河以南市區。5月12日,第三野戰軍發起上海外圍作戰,浦西於12日占崑山、瀏河,13日占太倉、嘉定,14日占松江、青浦;浦東於13日占金山衛,14日占奉賢、南匯,15日占川沙。此後最激烈的戰鬥發生在黃浦江入海口兩側地區。從13日開始,第三野戰軍第28、29軍猛攻湯恩伯部重點守衛的浦西月浦、楊行、劉行地區,準備經此地向吳淞口強行楔入。守衛該地區的國民黨第52軍與第54軍是上海防守部隊中少數未遭殲滅性打擊、戰鬥力較強者,他們依託堅固工事,在海空炮火支援下固守反擊。攻擊部隊由于思想輕敵,準備欠周,以野戰衝鋒戰法攻擊堅固設防陣地,致進展不大,而且造成8000餘人的重大傷亡。後來他們調整戰術,充分準備,周密組織,使用坑道爆破作業,以小群動作,集中力量清除碉堡,於15日攻入月浦,17日攻入劉行,隨後與國民黨軍在該地區進行反覆的拉鋸爭奪戰。湯恩伯調軍支援月浦,實行反擊,雙方在狹小地域進行逐堡爭奪,由於部隊集中,炮火猛烈,均有重大傷亡。浦東方面的作戰集中在高橋地區,因河道縱橫,作戰地域狹窄,攻擊較為困難,湯恩伯又調軍增援浦東,兩軍在高橋一帶反覆爭奪。為了鼓勵士氣,湯恩伯對士兵明碼標價,有「功」者予以記功、晉級以及金錢獎賞,作戰不力者予以軍法審判,擅離職守者就地正法,並實行縱橫連坐法,脅迫士兵固守防線。
5月20日,中共中央軍委指示第三野戰軍,上海接收準備工作已大體就緒,只要軍事條件許可,即可總攻上海;同時根據戰場情況,指示充分準備兵力,先解決市區後解決吳淞,如對吳淞攻擊不利,亦可放棄部分不攻,讓湯部從海上逃去。此時第三野戰軍在浦東已進至高橋以南,在浦西占領莘莊、南翔,正在月浦、劉行、楊行一線與國民黨軍爭奪。粟裕根據軍委指示精神及戰場情況,調整作戰部署,增加第7、8兵團各1個軍參加戰鬥,使參戰部隊總數達到10個軍40萬人;在作戰步驟方面,首先部署奪取浦東,爾後攻占蘇州河南,同時攻擊吳淞、寶山,最後攻打蘇州河北;在兵力部署方面,以3個軍在浦東作戰,2個軍在蘇州河南作戰,統由第9兵團司令員宋時輪指揮;以2個軍攻擊吳淞、寶山,3個軍攻擊楊行、劉行、大場、真如,統由第10兵團司令葉飛指揮。23日夜,第三野戰軍各部發起對上海的總攻。24日占領除高橋之外的全部浦東地區,浦西則進至虹橋和龍華。因國民黨軍在滬南市區防守薄弱,只有交警總隊駐守,24日晚第三野戰軍自滬南攻入市區,次晨占領蘇州河以南市區。湯恩伯見大勢已去,遂率第52、54軍主力和第12、21、75、123軍殘部5萬餘人,陸續自吳淞口登輪撤離上海,前往舟山群島。行前他任命第51軍軍長、淞滬警備副司令劉昌義代理指揮殘餘國民黨部隊,任命市工務局長趙祖康為代理市長,維持市政。
國民黨軍主力部隊或被殲或撤走之後,殘餘部隊仍在蘇州河以北市區,利用高大建築物和核心工事固守。為了保護市區工商業與建築免遭破壞,第三野戰軍部隊不能使用重武器掩護攻擊,屢屢受阻於高大建築物,造成不少傷亡,所謂「瓷器店裡捉老鼠」,難度很大。中共上海地下黨遂通過關係與劉昌義建立聯繫,由攻擊部隊首長令其率部投誠。劉昌義本與民革有關係,此時見大勢已去,於26日晨率蘇州河北的國民黨軍殘部4萬餘人放下武器。當日,第三野戰軍部隊攻占浦西寶山、吳淞、真如、大場、楊行和浦東高橋。27日,國民黨第21軍第230師在楊樹浦投降,第三野戰軍進占上海全城。隨後第三野戰軍又於30日乘勝登陸崇明島,6月2日占領全部崇明島。
上海戰役是國民黨軍於全面敗退中進行的一次較長時間防守作戰,國民黨軍利用堅固工事,在炮火支持下固守,並因保持海口退路而有一定的迴旋餘地。第三野戰軍部隊採用東西兩翼並進的鉗形攻勢,首先攻擊上海外圍,殲滅國民黨軍有生力量,避免市區的破壞,戰略上是正確的。但因為渡江後的進軍途中未遇大的抵抗,攻擊之初有所輕敵,急切行事,造成較大損失,後經調整部署,加強兵力,改變戰術,很快即打開局面。國民黨聲稱要堅守半年的上海,最後不過守了半個月即敗退而去,這也是國民黨軍最後一次還像點樣的防守作戰。此後國民黨軍基本是一路敗退,再也無力組織這樣的作戰了。
第三野戰軍部隊進入上海時,紀律嚴明,毫不擾民,戰士不入民宅,夜間在馬路上席地而臥,使見慣了國民黨軍高官頤指氣使、士兵紀律散漫的上海市民大為感佩。在上海戰役進行過程中,由於中共上海地下黨的艱苦工作,發動了全市性的護廠護校運動,使市區社會秩序基本正常,水電供應從未中斷。5月27日,上海市軍事管制委員會成立,陳毅任主任,粟裕任副主任。28日,上海市人民政府成立,陳毅任市長。整個接管過程秩序井然。上海——這個中國最大的城市的歷史由此翻過了舊的一頁,開始了新的篇章。