民国26年(1937年)八一三日军入侵上海,国民政府军奋起抗击,相持两个半月。10月26日,日军攻破大场阵地,闸北守军腹背受敌,只得向后总退却。蒋介石命令国民政府军第八十八师留守闸北阵地,守备市内坚固建筑物,寸土必争,要日军付出血的代价。当时,第三战区司令长官顾祝同与第八十八师师长孙元良商定,为了不作无谓牺牲,由第八十八师五二四团一个加强营留守闸北光复路四行(大陆、金城、盐业、中南银行)仓库。以第五二四团第一营为基干,配属1个机枪连、3个步兵连、1个迫击炮排.由中校团附谢晋元、少校营长杨瑞符率领。孙元良向他们下达“死守上海最后阵地”的命令。10月26日深夜,杨瑞符营长奉命迅速集合分散在火线上的各连官兵,时部队已纷纷后撤,联络极其困难,至27日上午9时许,全营官兵才汇齐四行仓库。杨立即派出部队在仓库外围担任警戒,占领有利阵地,同时命令部队在仓库内用库存大豆、大米、羊皮等构筑工事、布置火力网。
10月27日晨6时,四行仓库守军在蒙古路附近发现日军,立刻狙击。7时30分起,外围警哨逐步撤入仓库。14时,日军四五十人整队冲来,被守军击退。15时,日军再次发起进攻,约有七八十人攻到仓库西面墙根下,守军急派排长尹求成率士兵10人向楼下发射迫击炮炮弹2枚,掷手榴弹数枚,炸死日军7人,伤二三十人,余皆溃逃。激战中三连连长石美豪脸部被弹击穿,他用毛巾捂着伤口坚持作战,至当日晚,守军略有伤亡,日军遗尸80余具。
28日晨5时左右,成队日军向四行仓库扑来,当其接近仓库时,谢晋元命令官兵用所有武器一起射击,打死打伤约200名日军。日军后续部队继续猛攻,也被击退。7时许,日机数架在仓库上空盘旋侦察,企图投弹。守军用高射机关枪猛击,日机飞走。 15时,日军又一次发动猛攻,并用四五门平射炮轰击守军,守军以机枪还击。日军设在交通银行屋顶上的机枪同时向守军猛烈开火,仓库各层楼面,枪弹横飞,炮火之猛烈较27日尤甚。激战中,一小队日军迫近仓库墙根下,企图爆破,士兵陈树生见情况危急,立即在身上缚满手榴弹,拉了导火线从5楼窗口跃入日军丛中,与10余名日军同归于尽。日军攻势虽异常猛烈,而守军沉着应战,加上工事坚固,日军炮火未能显示威力。战至17时,日军屡攻不下,只得退走。此时,营部移防时未到的第一连上官志标连长、汤聘华医官、机枪连杨排长,冲破种种困难,冒险突进仓库。
28日午夜,中国女童子军杨慧敏冒着生命危险,冲过火线向四行仓库守军献送国旗。谢晋元接过国旗说:“你给我们送来的岂只是一面崇高的国旗,而是我们中华民族誓死不屈的坚毅精神!”29日12时,日军坦克四五辆沿苏州河北面国庆路及四行仓库以北地带行驶,企图掩护步兵进攻,守军用机枪封锁其进攻道路,日军用平射炮、机关枪进行火力压迫。四行仓库周围集结日军达数百人,准备总攻。市民屡次用电话通知守军。英驻军也劝说守军,日军将发动总攻,希望守军赶快离开,保存实力。当时,守军杀敌心切,不为所动,婉词谢绝。14时,日军发起总攻,对峙1小时,日军毫无进展。 15时,日军增派武装小艇2艘,满载海军陆战队由黄浦江驶入苏州河老闸桥,向四行仓库进犯,企图封锁守军与租界交通线,在英驻军当局交涉下,日海军理屈而退。18时,日军利用天黑,在仓库西北面用掘土机挖掘地道,企图凭借地道突进四行仓库,并用坦克猛冲四行仓库库门。谢晋元决定加强照明措施,待敌接近,即行狙击。日军枪声、炮声时紧时缓,彻夜不息,但未敢强行掘进。
30日晨7时许,日军步兵、炮兵、空军联合发起进攻。炮火之猛烈为前三昼夜所未有。守军与外界联系之唯一交通线西藏路完全断绝。大部分官兵继续构筑5楼工事,5楼可俯攻日军所占之交通银行。四行仓库1、2、3楼沿墙砌有3米厚的麻包,日军的平射炮、机关炮完全失效。晚8时许,5楼工事已告完成,日军又猛烈进攻,甚于白昼。并用探照灯照亮西藏路,以机关枪封锁路口。10时许,日军火力更猛。11时许,日军以平射炮及重迫击炮向四行仓库猛轰。
新垃圾桥(今西藏路桥)南堍,耸立着巨大的煤气罐,距四行仓库数十米。租界工部局顾虑煤气罐挨炸,威胁租界数万居民的生命财产安全,要求第三战区司令部命令守军撤出四行仓库,退入租界。各国使节团照会中国政府,要求基于人道立场,下令守军撤离。30日,中国政府表示应允各国要求。晚12时许,传来蒋介石命令:“本晚12时,经过英租界退出四行仓库。”守军遵命放弃阵地向英租界撤退,日军事先已知守军撤退企图,除以探照灯和机关枪严密封锁新垃圾桥外,并以各种火力集中压迫,弹如雨下。英军斯马莱特将军在桥旁指挥掩护,英军在桥头碉堡中,用小钢炮连续猛击,将日军探照灯击毁。守军竭力施行火力制压,利用日军炮火稍为间断时间,奋勇冲出。深夜2时许,完成撤离,杨营长左腿中弹,士兵10余人受伤,国旗安全携出。至此,守军奉命死守四行仓库的任务遂告结束。