袁政府派兵南下,首先注意南京、江西兩路兵馬。李烈鈞已被團團圍住,援軍也被北軍截斷。第一軍軍長段芝貴和總司令李純步步緊逼,水陸各軍同時進攻,旅長馬繼增、鮑貴卿等奉段芝貴的派遣,分道攻擊。馬軍從新港一帶率兵猛進,連奪要隘,占領灰山。湖口西炮台忙開炮轟擊馬軍,馬軍仗著銳氣直撲炮台,前仆後繼。外麵,又有軍艦連放巨炮,終將炮台轟破。守台的李軍死的死,逃的逃。西炮台隨即被馬軍占領。鮑軍由海軍掩護,至湖口東岸與李烈鈞部眾激戰,大獲全勝,又乘勢占領了東炮台。李烈鈞勢單力薄,隻好放棄湖口,乘舟逃走。湖口一帶,完全歸入北軍。袁總統立即發犒賞銀十萬元,交段芝貴論功行賞。
陳其美在上海宣布獨立後,便在上海南市設一總司令部辦事機關,所有舊部人員陸續到來,分任職務。同時,總司令部四處發出通告,大意是“起兵討袁,義不容辭。各營應約束軍隊,嚴查匪類,保護在滬商民”。另頒六言告誡,申定斬首等法律。大多數市民為了逃避戰火,紛紛搬入外國租界。吳淞炮台官薑文舟受陳慫恿,宣布獨立。並且劃定戰線,照會外國領事,一切軍艦、商舶不得在戰線內停泊,任何人不得入戰線以內。上海城內各公署無兵無餉,沒人敢反抗陳其美,隻好隨聲附和。
唯獨駐守製造局的鄭汝成和海軍各艦,不受陳其美慫恿。鄭汝成恐生變數,將局中原有的巡警衛隊都派遣出去,隻管製南來的北軍。陳其美聽到這個消息,料他是個好手,不便輕敵,於是決定出三萬金給北軍,隻希望他出讓製造局。陳其美的手下李平書與鄭汝成相識,便勇擔說客的重任,並邀王一亭同去製造局見鄭汝成,勸他說:“北軍兵單孤立,南軍四路合圍,眼見這製造局要被南軍奪去。平書為息戰安民起見,已與陳其美商洽,願饋贈北軍三萬金為酬金,隻勸北軍北返。”說至這裏,猛聽得一聲嗬斥:“我鄭汝成奉大總統命令來守此局,你奉何人命令敢來逐我出境?我若不念舊交,早就將你的頭顱梟示局門為叛黨鑒。混賬東西,快給我滾出去!”李、王兩人碰了這個大釘子,不禁麵紅耳赤,倉皇退出,返報陳其美。於是,陳決意開戰,調集南軍,專攻製造局。碰巧,駐南京福字營司令劉福彪,帶領自己的敢死隊到上海,要求擔任攻打製造局的先鋒。陳其美立即將其編製為衝鋒隊。鎮江軍、上海軍和駐防楓涇的浙江軍也一股腦兒湊攏來,約有三四千人。鎮、滬兩軍本無叛誌,因黃興借著程都督名義調撥該軍,他們不得不奉命前來。浙江本未獨立,所派楓涇防兵,原本是為了防禦上海的革命黨,不料被陳其美買通,也撥遣一隊助攻製造局。再加上鬆江鈕永建軍、福字營的敢死隊,共計七千五百人。七月二十二日夜間,由總司令陳其美發令,三路同時發起進攻,一攻東局門,一攻後局門,一攻西柵門。
鄭汝成分兵堵禦,連擊不懈。就在兩軍開戰的時候,海軍總司令李鼎新遵照之前與鄭的約定,向東西兩麵開炮轟擊,東轟鎮軍,西轟浙軍,大半命中。鎮、浙兩軍本無鬥誌,立即潰散。隻有鬆軍、滬軍和福字營的敢死隊死命衝擊,無人退回。天亮之後,北軍又運來機關炮、過山炮,兩炮一齊開放,鬆、滬軍漸漸不支,隻能退回。北軍出局追擊,因敢死隊的炮火過於猛烈,才停住不追。
到了晚上,吳淞炮台官薑文舟,撥調協守炮台的鎮江軍一營到了上海,由陳其美下令再攻製造局。各軍仍然按著老法子,三路並進,連放排槍。北軍也不還擊,等到敵軍逼近,才將槍炮盡行發出,打得南軍落花流水,大敗而逃。劉福彪義憤填膺,當下收集潰兵,休息數小時,到午後機關大炮運到,再次猛攻製造局。北軍開炮還擊,劉福彪冒險直進,不料空中落下一彈,穿入他的左臂。劉福彪疼痛難忍,隻好逃往醫院求治。此時,敢死隊隻剩了一二百人,無人統轄,都逃竄到北門外。
北門地近法界,安南巡捕奉法總巡命令嚴行防守,見敗軍竄入,立即猛放排槍,將他們擊回。這些敢死隊隊員隻好轉入城內,搶劫了些舊衣物,從南碼頭跳水逃生。
這一天,一艘海艦抵達上海,上麵滿載華人,都是鐵路工匠模樣,上岸後徑直進入製造局。原來,這批工匠其實是北軍假扮的,目的是為了混過吳淞。製造局得此生力軍,氣勢更加強盛了。淞軍司令鈕永建接到敗報後,立即率部眾兩千名,直達上海南部。鄭汝成得知有淞軍前來支援,索性先發製人,立即派精銳五百名出堵淞軍。兩下相見,自然又是一陣槍炮對轟。雙方互有傷亡,但北軍是久練勁旅,槍無虛發,淞軍漸漸不支,向西退去。北軍本打算追襲,忽然又有偵察兵報告說,後麵有叛黨來攻,才急急退軍,撤回西柵。淞軍返轉身來,又向西柵攻擊,北軍嚴行拒守。緊接著,北軍背後又響起槍炮聲,原來是陳其美從蘇州新調來的步兵,大約有一千餘人,來夾攻製造局。北軍並不與他對抗,隻由海軍艦上開炮相擊,但也不怎麽猛烈。蘇軍大膽前進,直逼局門,不料背後突然傳來巨響,回頭一望,彈來如雨,不是擊著麵部,就是擊著身上,接連有好幾十人中彈身亡。蘇軍知道中計,趕緊退避。這天晚上,月色無光,蘇軍前有北軍,後有大炮,難免有些驚慌失措,結果逃命時竟發生自相踩踏的事情。西柵門外除了淞江軍仍在猛撲外,還來了六十名學生軍。大家鬥誌昂揚,眼看著西柵要攻破了,沒想到軍艦上一顆炮彈落在學生軍中,當場炸死三四十人,其餘二十人不寒而栗,隻能攜槍敗逃。
從二十二日晚間開戰到二十五日,南軍三次進攻製造局,三次失敗,死的死,傷的傷,逃的逃,潰不成軍。幸虧紅十字會慈善為懷,除逃兵外,所有屍骸代為收殮,所有傷兵代為收治,死生總算有個著落。但商民經此激戰,卻是流離顛沛,魂上九霄了。
陳其美連續接到敗報,不得已招集散兵,令其赴吳淞效力。之前,臨陣先潰的二十四名逃兵本來已交押地方檢察廳,但現在兵力空虛,隻好向檢察廳索還被押兵士,一起同行。廳長也算懂事,立即下命釋放。不料,散兵闖入廳署,持槍威嚇,竟將所有訟案繳款和存案物件搶掠一空。該廳所轄的模範監獄裏,關押著宋教仁案的要犯應桂馨,現在也趁機聯絡獄友,起來滋事。獄官吳恪生力難鎮懾,隻好將應桂馨和那二十四名逃兵一起帶出監獄,不料別的案犯也乘勢脫逃。城內秩序大亂,巡警也無法攔阻。地方審判廳長索性將看守所中男女人犯一律釋放,讓他們自行逃生。此時,程德全都督和民政長應德閎駐上海已經一個星期,驚魂未定,又聽說國民黨人多已失敗,於是聯名發電作為通告,聲討南軍。
程都督通電後,上海紳商已料到陳其美不能成事,於是竭力調停南北兩方,要求罷戰。並硬請陳司令部遷出南市,移至閘北。陳其美義憤填膺,聲稱若讓他遷移,必將上海城付之一炬。紅十字會會長沈敦和是前清時的山西道員,他一意保護商民,人稱朔方生佛。眾商委托他去與陳其美磋商遷址一事,最後陳勉強答應。正好此時,江陰又派來兩千餘名援兵,為陳所用。陳又立即下令進攻製造局,並雇用上海流氓和本地車夫,一起協同作戰。製造局防範慎嚴,再加上外麵軍艦啟用了探照燈,炮線測準後,猛擊南軍。從二十五日半夜起,一直戰到天亮,南軍沒有占到一點兒便宜,反枉送了許多性命。這時,陳其美才死心塌地將總司令部機關遷至閘北。鈕永建仍不服輸,誓死一戰。二十八日,鈕號召殘軍,並聘請日本炮兵,作最後的攻擊。這次戰役比前四次都要猛烈,不但轟擊製造局,連兵艦一起轟擊。炮彈指哪兒打哪兒,準度極高,竟把海軍巡洋艦擊出個窟窿,就是守局的北軍也戰死不少。北軍未免著急,就用八十磅的攻城大炮一陣猛轟,打死鈕軍無數。流氓全部潰散,鈕軍漸漸支撐不住,一哄兒散去。上海製造局的戰事,這才告終。