一二八事变没发生前,日军就做了充足的准备。上海日军的两千海军陆战队一句四千武装侨胞,四十余架飞机和数十辆装甲车就分布在虹口和杨树浦。另外黄浦江和长江口都漂着日本军舰。
一月二十七日,日军在夜色中前进,期间遭到警察询问。日军向警察开枪,后者反击,战争爆发。一月二十八日晚上,日军陆战队分成三路袭击闸北,攻占火车站。上海军民慷慨激昂,驻沪的第十九路军奋勇抗战,打退进攻的日军,夺回了火车站。英美的领事出面调停,双方停火。
上海民众自发组织救护队和义勇军,支援抗战。日本政府污蔑上海事件是由中国排日活动引起的。二月二日,日军援军到达。日军新增两艘航空母舰,十二搜军舰,另外还有七千陆战队抵达上海。二月三日,日军破坏停战协议,再次向闸北进攻,依然被守军击退。七日,日军改变了攻击点,想从守军右翼击破。但最终没有成功。
日本的战况非常不利,内阁又增兵。中国第五军增援上海。日军发动全线总攻,合围闸北。十九路军和第五军配合默契,终于让日军遭到重创。后来日军在浏河登陆,中国军队腹背受敌,被逼撤退。日方宣布停战。一二八事变主战场闸北遭到了不小的损失,著名的图书馆遭到了破坏。