寒冬的下午5点,一架日机投下照明弹,发出进攻信号。日军知道,城里的一房一墙、一壕一坑,都有可能成为守军抵抗的堡垒,他们步步为营,烧一截,攻一截;攻一截,占一截,逐步紧缩包围圈。
形势越来越危急。余程万命令部下坚守阵地,所剩不多的部队经过最后调整,等待日军进攻。
12月1日黄昏,北面图书馆的一股日军进攻春申墓的守军碉堡。春申墓这条路,斜对着余程万的师部,日军做出包围的态势,企图强占这个碉堡。在平射炮轰击下,日军用烧夷弹燃烧周围残破的民房,绕到守军后面投掷毒气弹,浓烟和毒气顿时冲向碉堡。碉堡里的六名战士有的中毒,有的烧伤。连长高长春被掉落的碎石击伤,还在用机枪扫射,用手榴弹轰炸,最后和战士们一起以死殉国。
司徒伟是一位代理连长,只带了三名战士,掩护法院路十字街口的左翼。春申墓的碉堡丢失后,五十名日军冲过来,迎面遇到一排砖石工事,不易通过,就在上风口施放毒气。司徒伟和三名战士被毒气呛得败下阵来,很不服气,跑向街口,找到投毒气的日军,几颗手榴弹扔过去,日军倒下一大片。
下南门附近的一个工事,守军全部牺牲,团长柴新意另抽一个班前去替补。班里的三个传令兵偷偷潜入日军火力点附近,伺机进攻,杀死了日军的两个机枪手,抢了他们的机枪。日军的歪把子机枪和中国军队使用的捷克制轻机枪发弹声音不同。日军进攻时,听到歪把子机枪的声音,以为是自己人,便停止前进。下南门暂时稳住了。
战斗持续到晚上,余程万师已不足一千人,阵地一块块失陷,只剩下五处据点。余程万带领战士们拼死坚守,日军拥有绝对优势的兵力,仍然难以进逼。
扑向大西门的日军用炮击和火烧,轮番进攻。守军既要遏制这股日军,又要抵抗城外日军的攻击。指挥作战的第三营代营长卢孔文,率士兵手持白刃向日军反袭,卢孔文中弹,壮烈牺牲。
日军见多次围攻效果不大,便减弱攻势,向守军劝降。他们在城内散发传单,悬赏五十万元活捉余程万,三十万元取余程万首级。但是,守军没有人会出卖自己的长官。
这时,整个常德城只有大西门在杜鼎团的坚守下,没被日军占领。大西门到上南门一线,成了余程万师的生命线。日军两股部队从小西门窜出,直取这条性命攸关的通道。日军的大炮和毒气弹大发淫威,守军唯一能做的就是冲上前去和日军肉搏,肉搏一次就伤亡一次,阵地不断缩减。日军以占压倒优势的兵力向余程万的师部涌进。守军战士们手持长刀和木棍与日军肉搏,个个不顾性命。日军胜利在即,不愿以命相拼,暂时向北退却,守军以血肉为代价暂时保住了师部。
12月2日,余程万师已和日军拼杀了八天八夜,八千多人的参战部队只剩下几百人。柴新意敦促余程万突围,不使该师背上“全军覆没”的恶名。3日拂晓,余程万率领一百多人从南门突围。当天上午,柴新意等人全部战死,常德失守。
横山勇占领了常德,却无意于固守。他感叹道:“这次作战损失不小,已很疲劳。”他的主力渡长江远道而来,军需补给常受袭击,而中国军队正从湖北西部和长沙赶来,斗志不减。尽管日军大本营要求他确保常德,他还是于10日下令撤退。中国军队全线追击,把日军赶到长江北岸。
余程万率领残部,突破日军的重重包围,渡过沅江,与鲁道源的部队会合后,和友军一起进行反攻,光复了常德。
余程万率部拼死保卫常德,却被蒋介石所误会。蒋介石中了日本人的离间计。他在开罗参加中美英三国首脑会议时,日本人在报上登了几张中国士兵在常德城墙上举白旗投降的假照片,使他觉得在罗斯福面前丢了脸,便下令逮捕余程万。后来,常德各界人士替余程万大鸣不平,蒋介石才把他释放,恢复军职和军衔。