十二月七日凌晨,南京警备部队开始对城内的军火库、飞机库、汽油库以及军事要点实施有计划的破坏焚毁。早晨五点四十五分,蒋介石乘坐的“美龄”号专机在明故宫机场起飞,经湖南衡山转武汉飞往江西庐山。蒋介石走了。南京城给了唐生智和他指挥的十万守军。这一天,日军华中方面军发布《攻占南京城要领》。
清晨,日军在炮兵和航空兵火力的支援下,向南京城第一道防御阵地展开猛烈攻击。南京卫戍军长官部立即制订了一个调集部队出击的计划:从镇江回防的第七十一军、第六十六军和第十军之第四十一师,联合向突入南京东面汤山附近的日军进行三面合击。但是,中国军队的行动速度太慢,日军的后续部队已经从突破口投入作战,第六十六军的汤山阵地和第四十一师的栖霞山阵地遭到猛烈攻击,三面合击的计划根本无法实现。卫戍军长官部只能命令第三十六师预备二团在东流附近阻击攻占复兴桥的日军。配备有七辆轻型战车的预备二团连续发动攻击,一度攻占马基山,但随之就受到日军增援部队的猛烈反扑,马基山阵地再次失守,该团陷入日军的包围。
八日,各路日军继续收紧对南京的合围。东面,沿长江西进的日军第十三师团第二十六旅团击溃了当面中国守军第五十七军第一一—师,占领靖江;天谷支队昼夜急进,在第二十六旅团前面攻入了镇江。西南面,国崎支队从长兴向西,连续突破中国守军于郎溪和水阳布设的防线,一直推进到长江岸边的当涂附近;第十八师团攻占宣城后,向南京侧后的芜湖迅速推进;谷寿夫的第六师团绕行南京西南路程最远,但经过强行军也赶到了南京南面的秣陵镇附近,并于第一一四师团的左翼加入到对南京城的攻击。
鉴于日军全面逼近南京城,卫戍军长官部命令中国守军全部退守城郭阵地。日军完成了对南京城郭的严密包围,迫使中国守军的防御线缩成一团。从战机上看,这是中国十万守军免遭覆灭厄运的最后时机----如果中国军队迅速改变死守战术,能够倾尽全力有步骤地突围而出的话。可是,中国守军没有任何突围的迹象,他们只是一再压缩防线,密集分布在南京四周的城墙附近。九日拂晓,日军第十六师团进至麒麟门和沧波门,第九师团进至光华门附近并占领了大校场和通光营房,第一一四师团进至雨花台的南侧,第六师团进至雨花台的西侧。日军飞机向南京城里投撒了日军华中方面军司令官松井石根的“劝降书”。
南京卫戍军司令长官唐生智立即下达了一道命令,严厉禁止各部队擅自渡江逃离南京城,以为对日军劝降书的答复。唐生智誓死不降。从东京来到南京前线的新任上海派遣军司令官朝香宫鸠彦亲王,在听取第十六师团师团长中岛今朝吾关于日军“已攻破了南京城周围所有的环形防线,约有三十万的中国军队就要被围”的报告后,立即签署了“机密,阅后销毁”的密令:“杀掉全部俘虏。”据此,攻入南京城的日军各部,对已放下武器、失去战斗能力的士兵乃至无辜平民实施了大屠杀。
十日,日军从南京城的南面一直到东面,向中国守军中华门、雨花台、光华门、紫金山等要点发起全面进攻。战斗最为激烈处集中在东南面的中华门和光华门。日军第九师团在坦克和炮火的支援下,猛攻光华门城门,致使城门两侧的城墙被轰开两个缺口。一股日军在坦克的掩护下,突破了中国守军第二五九旅的阵地;另一股日军突入光华门城门纵深百余米,占据了两侧的房屋作为据点,企图掩护后续部队拥入。
卫戍军长官部急令宪兵教导二团预备队增援光华门,同时命令第八十七师进行反击。王敬久的第八十七师,中央军嫡系部队,刚刚从淞沪战场上撤下来。卫戍军长官部的命令是:把突入城里的日军消灭,完不成任务提头来见。副师长兼第二六一旅旅长陈颐鼎和第二五九旅旅长易安华商定,由易旅长率领一个加强团,由通济门外向东北方向实施攻击;陈旅长率两个加强营由清凉巷、天堂村协同攻击,兵分两路夹击光华门里的日军。战斗持续了八个多小时,守军官兵不但将突入城里的日军击退,还收复了工兵学校阵地。反击作战中,第二五九旅旅长易安华、第二六一旅参谋主任倪国鼎阵亡,
十日晚上,日军第十八师团占领了南京重要的外围支撑点芜湖。在南京城垣防线上,雨花台方向的中国守军第八十八师受到日军两个师团的联合攻击,其阵地全被摧毁,残部退守二线。在南京东面的孟塘方向,中国守军第四十一师被日军击垮,被迫向城内撤退。卫戍军长官部索性把第六十六军也调入城内,准备开始巷战。在光华门和通济门方向,为了堵住缺口,第八十三军第一五六师被调了过来。
十一日,激烈战斗在紫金山第二峰、陵园新村至西山一带展开。中国守军是桂永清的教导总队。教导总队堪称中央军的精英部队,平时很少用于战场,现在只有毫不吝惜地把他们摆在第一线。总队官兵的营房在孝陵卫,平时的训练就在这一带,因此他们对这里的地形很熟悉,主阵地工事也修筑得十分坚固,以致数日来日军不能越雷池一步。日军得知防守紫金山的是蒋介石的精锐部队后,加大了飞机和火炮的轰击,甚至使用了毒气弹,步兵更是一波又一波地轮番发动冲击。最终双方都陷入了一种生命已经无关紧要的疯狂状态。
在中华门方向,雨花台阵地左翼被日军攻占,城门外的中国守军第八十八师在猛烈的炮击下几乎无法立足,被迫向城内撤退,而日军竟然跟随着撤退的中国守军追进了城。卫戍军副司令长官罗卓英亲自到一线指挥部队与日军展开巷战,最终把突入中华门的三百多日军全部歼灭,雨花台阵地获得暂时稳定。在南京城垣的西面,日军占领了水西门外的棉花堤阵地。由于雨花台左翼阵地的丢失,侧背受敌的第五十一师被迫退到了水西门里面。