日本因不得逞改派野村率軍。他率日本第三艦隊增援參戰,軍艦多達49艘,鹽澤歸其統轄。2月3日,從黃埔江入口發動攻勢,欲搶吳淞炮臺,十九路軍死守,一連猛攻四天,仍是未能突破。他另外遣鹽澤率軍再襲閘北。與中國守軍巷戰九小時,依然折將損兵,最後又再撤出。不過閘北至此已盡成焦土,鹽澤隨即被免職調返日本。但野村不甘初戰失敗,遣一旅團軍力,登陸吳淞南岸。從2月7日至13日,日本連續增兵至六千眾,與十九路軍展開連場肉搏戰。雙方雖曾互有攻奪,但中國守軍堅持不退。
日本又不得逞另派植田率軍。是時日軍已達三萬,植田再領一個師團,接替野村,掛帥總攻。他於24日發動全面攻勢,十九路軍一度支援不住,節節後退,十分不利。後得張治中所率第五軍增援,反敗為勝,守住上海。
本來,於打退鹽澤及野村所率的日軍兩輪攻勢後,十九路軍已是傷亡慘重,一再電請國民政府增援。那時,因為上海受到日軍進犯,國民政府避禍遷都洛陽。留守南京的軍政部長何應欽,以「抗日剿赤兩難兼顧」為理由,不肯增派兵員支援上海戰鬥。江南原有六隊空軍,亦躲避至遠方去了。於是,全國輿論譁然,指責國民政府。汪精衛本是於1月28日接任孫科剛辭退的行政院長,也處有職無權,難以應付時局。是汪精衛提出要蔣介石復出,就因這樣,2月中旬蔣介石又回到南京。他為要爭取輿論支援,叫張治中率新編第五軍,實改編第87師及第88師的三個團,於2月15日開赴上海參援作戰。與此同時,他又命何應欽發電給十九路軍蔣光鼎:「避免再戰為主」,爭取在「雙方各自撤退至相當地點」的條件下立即停戰,並「從速進入外交途徑」。主要因為蔣介石要與日本講和。
另外,日本經此三攻三挫,決定改變正面策略。特命上將白川,統軍從側抄襲。至29日晨,白川率兩師團登陸滬外瀏河,欲採前後夾擊之勢,使中國軍腹背受敵。
至此,十九路軍基於兵疲彈盡,第五軍亦折兵五千,兩軍合計不足四萬,兼又裝備落後,並無其它增援,遂決定於3月1日放棄上海範圍的第一道防線,最後,撤至南翔一帶,地處蘇州之北。但,日本亦下令白川停戰。因為此時,為了保護他們各自在華利益,英、美、法不但已增兵派艦隊及士兵進入上海,並且透過國際聯盟促使中日雙方進行談判。於是,從3月至5月,戰事趨於沈寂。
此時,蔣介石復掌權,與汪精衛合謀,透過英國公使從中幹旋、中國方面派出外交次長郭泰祺與日本公使重光葵在上海的英國領館內進行停戰談判,並於5月5日達成停戰協議。史稱「淞滬協定」。其內容是:一、中國軍隊仍續留在現時駐地,亦即上海外圍;二、日本軍隊退至公共租界以及虹口,一如1932年1月28日事變以前原狀,但為容納日軍人數起見,可暫駐上述之毗連地點,亦即上海之內;三、為證明雙方之撤退起見,設立共同委會,加入友邦代表,協助移交事宜。淞滬戰爭至此宣告結束。
只是,事後才又發現,原來還有附件。其一是,日本軍隊可以使用淞滬鐵路;其二是,浦東地區及蘇州河南部不準駐紮中國軍隊。據稱,中方代表同意接受,但要日方絕對保密。當訊息不得不外洩,郭泰祺被學生痛毆。
無論如何,上海還是保住了,日本軍撤離戰區。雖然日本並沒有把上海佔據,但卻打通中國沿海運兵走廊,為下一步侵華行動作好部署。上海當然是必攻的城市。
其實,在日本軍發動「一。二八」事變的前兩天,日本政府已在東北開始了另一逐步侵佔中國的陰謀。1932年1月16日嗾使鄭孝胥、臧士毅等人在瀋陽召開所謂「滿洲善後會議」,並於2月19日宣佈籌備組「滿洲國」,3月9日在長春把已退位的清帝溥儀擁立登基,改年號為「大同元年」。然後,又釋出了所謂「日滿親善條約」,於1934年3月1日,行「滿洲帝國組織法」,並改年號「德康元年」,由鄭孝胥出面與日本駐滿全權大使交換公文。最滑稽是,這一公文,又由日本駐華公使當作照會通知南京國民政府。當然,南京的外交部發宣告不承認滿洲國。
至於曾一度奮勇抗日的十九路軍,於吳淞停戰協議簽署後調離上海,被派遣到福建參加圍攻紅軍。但至1933年11月20日,這支仍由蔡廷楷、蔣光鼎等統率的廣東軍,與陳銘樞、李濟琛等在福州市召開「中國人民臨時代表大會」,會議決定成立「中華共和國人民革命政府」,主張抗日,與蔣對立。21日即與工農紅軍簽訂停戰協議,但,不久,蔣以南京政府名義動員海陸