四行仓库,是金城银行、大陆银行、盐业银行、中南银行共同投资建造的仓库。仓库内储存了几万包粮食、牛皮和丝茧等物资。谢晋元率部进入仓库后,利用库仓里的物资和沙包,将底层门窗全部堵死,二层以上窗口堵塞一半,以利投弹射击。仓库东南角有一个烟杂店,谢晋元命令士兵打了一个高宽约一米的墙洞与之相通,店外堆满沙袋。楼上留一窗口,以机枪警戒,与对面新垃圾桥北堍的英军碉堡可以通话。又在仓库外布置了一支部队,沿苏州河仓库两侧布置了沙袋工事,狙击敌人。谢晋元的部署可谓天衣无缝,使日军进攻时感到非常棘手。
第二天天刚亮,天空一阵嗡嗡响,几架日本飞机像老鹰一样在低空盘旋。谢晋元料定飞机不敢投弹轰炸,公共租界就在咫寸之遥,炸弹很容易误落到租界,引起国际争端。
下午2时,日军开始涌向苏州河。谢晋元下令开火。前沿部队也突然从沙袋工事后投弹、射击,与仓库楼上形成火力交叉,杀伤了大批敌人,并炸毁了两辆战车。激战两小时后,前沿部队从烟杂店退入仓库。日军尾随着企图冲进仓库,烟杂店外的沙袋工事后扔出大批手榴弹,炸得日军血肉横飞。以后,日军小批部队轮番进攻,在守军的扫射下,丢下一具具尸体,退回苏州河。
第一天战斗,共击毙日军80余名,被打伤的敌人就更多了。四行仓库对面租界里的英国驻军,目睹谢晋元孤军与日军作战,他唯恐危及租界安全,多次派人跟谢晋元联系,劝说中国军人卸下武器,退入租界。英国驻军愿意出面与日军周旋确保谢晋元部队的生命安全。谢晋元毅然拒绝,说:“我们是中国军人,没有上级的命令,我们死也不退!”
谢晋元率孤军死守四行仓库,抗击日军的消息,传遍了上海。自第一天开战以来,从早到晚,有数万群众,聚集在苏州河南岸租界,隔河观看,群情激昂,人人振奋。市民们纷纷隔河向坚守在四行仓库里的中国士兵挥手致意,甚至连租界里的外国人,也直翘大姆指。上海各界人民自动组织起来,慰劳自己的军队。各种食品、药物堆积如山,只是苦于交通阻隔,很难送进仓库。唯一的一条通道,是那个烟杂店的墙洞。但接近烟杂店很危险,子弹乱飞,随时都有牺牲的可能。这工作就由参加战地服务队的童子军承担,孩子目标小,动作灵活,不易被日军觉察。
谢晋元与800壮士坚守仓库4天4夜,孤军与数十倍于己的日军作战的英雄事迹,迅速在国内引起强烈的反响。当时,有作词作曲家将此事写成歌曲,歌词是这样的:“中国不会亡,中国不会亡,你看那民族英雄谢团长。四面都是炮火,四画都是豺狼。宁愿死,不退让,宁愿死,不投降!