日軍飛機結隊成群在中方陣地及陣地後方到處擲彈,更以重炮及敵艦炮向吳淞、廟行一帶陣地集中射擊,日軍步兵則借飛機炮火掩護攻擊前進,一場惡戰開始了。
日軍第九師團不愧是日本陸軍的常設師團,不僅炮火猛烈,戰鬥力絕非日本海軍陸戰隊可比,僅一個上午就讓六十師傷亡五百多人,六十師被壓得節節後退蔡廷鍇不得不早早把作為預備隊的78師的翁照垣旅調上前線增援,這才總算穩住了戰線。
中國守軍第十九路軍與第五軍並肩作戰,密切配合,利用長江三角洲水網地帶和工事頑強抗擊,並組織戰鬥力強的部隊夾擊突入江灣、廟行結合部之日軍。
第九師團的秋山義允旅團於下午開始,在重炮和飛機的支援下,向廟行鎮方麵的守軍陣地攻擊守軍第88師英勇抵抗,擊斃眾多日軍入夜,日軍繼續攻擊,槍炮聲竟夜不絕因為白天有日軍的飛機轟炸和日軍重炮的壓製,88師的山炮團不敢開炮壓製進攻的日軍直到這時,才開始用炮火支援前沿陣地的守軍同日,江灣方向守軍61師也與日軍35聯隊展開激戰,那裏甚至還發生了數次肉搏。
21日,八字橋、江灣方向的激戰仍在繼續,雖然88師和61師傷亡慘重,但日軍不能前進半步。
植田見攻擊無果,知道自己有些輕敵頭腦漸漸冷靜下來,再次改變戰術此後幾日日軍暫停對八字橋、江灣方向的進攻,把進攻重點縮小到小場廟、竹園墩、麥家宅、廟行鎮方向,但左翼88師、宋希濂261旅頑強奮戰不僅頂住了日軍的攻擊,還擊落了一架日軍艦載機。
這中間,奉張治中將軍命令,孫元良259旅518團推進至馮家宅歸俞濟時指揮,518團第三營參加了廟行鎮之戰其餘兩個營歸李延年指揮,在麥家宅與日軍激戰。
夜幕降下後,張治中命令88師528團、工兵營等部隊,向日方前沿陣地襲擊,日軍打了兩天,十分疲憊,又沒有防備,損失慘重。惱羞成怒的侵滬日軍總指揮植田謙吉調集第9師團和第24混戰旅約2萬人,於22日淩晨1時向廟行撲擊,一場空前的惡戰在廟行展開。
由於中國守軍88師官兵有了準備,日軍的反撲受到挫折。於是從淩晨3時起,敵集中優勢炮火對廟行各線陣地猛烈轟擊,企圖摧毀我軍工事和有生力量。
輸紅了眼的日軍傾巢而出,先用50多門重炮向廟行鎮猛轟4個多小時,在敵軍炮火的猛烈轟擊下,88師各部工事大部被摧毀,官兵傷亡不斷增加。拂曉後,大批飛機加入作戰,戰鬥更加激烈。
接著日軍又在飛機掩護下,步兵開始發起衝鋒,259旅前沿陣地和縱深工事大多被摧毀,官兵傷亡較大但守軍仍頑強堅守陣地,死戰不退,許多陣地都數易其手,激戰竟日,廟行鎮仍牢牢控製在孫元良手中。
22日早上開始,沒被殲滅的第24旅團剩下的那個大隊,乘大霧突入廟行鎮東端88師264旅527團3營陣地和麥家宅及其南側墳地一帶,日軍第六旅團趁勢從缺口跟進一時整個戰線動搖,61師有被日軍割裂包圍的危險,情況萬分危急。
俞濟時不敢耽擱,立刻命令88師全部預備隊投入戰鬥,俞濟時甚至親自上陣督戰,對戰線缺口處的日軍反複衝殺,想要奪回陣地,堵住缺口半天下來,88師傷亡慘重,甚至264旅正、副旅長錢體倫和黃梅興都負了傷,工兵營營長陣亡,但仍未擊退日軍,奪回陣地。
整個戰線即將不支,局勢到了極為危險的境地。