12月11日,日军第16师团猛攻紫金山南北的中国军队阵地。紫金山及其以南地区,教导总队坚决抗击。激战终日,日军毫无进展,惟其右翼部队攻占了第2军团防守的杨坊山、银孔山阵地,进至尧化门附近。日“上海派遣军”为使其第16师团进攻容易及适时切断守军的东退道路,又从正在镇江等船渡江的第13师团中调山田支队,从第16师团右翼加入战斗,向乌龙山、幕府山炮台进攻。日军第10军的第114师团及第6师团主力继续攻击雨花台。第88师的第二线阵地又被摧毁,守军被迫据守核心阵地。日军第114师团右翼部队开始攻击中华门,城门被炮火击毁。少数日军一度突入城内,但被第88师据守城垣的部队歼灭。日军第6师团左翼部队之一部沿长江东岸北进,在上新河击退宪兵教导2团的1个营,占领了水西门外的棉花堤阵地。日军国崎支队在当涂北慈湖附近渡过长江,沿西岸北进,向浦口运动。占领芜湖的日军第18师团因转用于杭州方面,不再参加进攻南京的作战。
武汉大本营对南京的战况极为关注,每日均有询问及指示的电报,当发现撤至南京部队的战斗力及士气已远不如淞沪作战,南京外围主阵地带仅防守两三天即告失守,而复廓阵地立足未稳即在主要方向上又被敌突破、迫逼城垣时深感形势严峻;当得知当涂附近已有日军渡江时,更感局势危急。为避免南京守军被敌围歼,蒋介石于11日中午考虑令南京守军撤退,遂令时在江北的顾祝同以电话转告唐生智。顾要唐当晚渡江北上,令守军相机突围。唐生智由于自己曾力主固守,若突然先行撤走,怕今后责任难负,因而要求必须先向守军将领传达清楚最高统帅的意图后方能撤离。当晚,蒋介石致电唐生智:“如情势不能久持时,可相机撤退,以图整理而期反攻。”唐生智于当夜与罗卓英、刘兴两副司令长官及周参谋长研究后,决定于14日夜开始撤退。遂于12日凌晨2时许召集参谋人员制订撤退计划及命令。
城垣战斗
12月12日自拂晓起,日军即集中炮兵及航空兵火力对复廓阵地及城垣发动猛攻。城南方面,战斗至10时前后,雨花台阵地被日军攻占。防守该地的第88师第264旅残部因中华门城门已经堵死,无法退入城中,遂在敌火力下作横向移动,沿护城河绕城北进,伤亡甚大。日军占领雨花台后,居高临下,加强了对中华门的火力袭击。第88师第262旅部分官兵坚守城垣阵地,奋力阻击;第88师师长孙元良率师直属队及第262旅一部兵力擅自向下关退却,企图渡江北撤,在挹江门内被第36师师长宋希濂劝阻,仍返回中华门作战。城东方面,日军第16师团仍在孝陵卫西山及紫金山一带激战。“上海派遣军”因第9师团在光华门一带遭守军反击后顿兵城外,毫无进展,于11日命控制于苏州附近的机动部队第3师团迅速前进;于12日晨令第9师团停止进攻,进行整顿,令第3师团由第9师团左翼加入战斗,向城垣进攻。
中午前后,在日军猛烈炮火轰击下,中华门及其以西城垣数处倒塌,一部日军在炮火掩护下由缺口突入城内。第88师遂即撤走。当时中华门内大批居民为逃避炮击和日军,纷纷向城北部难民区逃跑,与溃退的散兵拥挤在街道上,城中秩序开始陷于混乱。
卫戍司令部为了有计划、有组织地实施撤退,于14时指示第36师负责维持城中及下关的秩序 。但此时日军第6师团一部已突入至中华门内,第16师团及第3师团已逼近中山门及光华门,第6师团左翼旅已逼近水西门。守军第2军团退至乌龙山,教导总队退至紫金山,第74军派人去三汊河架设浮桥,企图渡江撤退至浦口,被第36师制止,南京守军已开始呈动摇态势。唐生智等决定改在当夜撤退。蒋介石虽然致电唐生智,令其在不能持久时相机撤退,但总从政治方面考虑较多,希望能多守一段时间,因而在12日又以致函形式致电唐生智、罗卓英及刘兴,提出他自己的企望。
撤离南京
12月12日17时,卫戍司令部召集师以上将领开会,布置撤退行动。唐生智首先简要地说明当前战况,询问大家是否还能继续坚守。与会将领无一人发言。唐生智遂出示蒋介石命守军相机撤退的电令,即由参谋长周斓分发了参谋处已油印好的撤退命令及突围计划 。
卫戍司令部突围计划的基本精神是大部由正面突围,一部随司令部由下关渡江。但在书面命令分发后,唐生智又下达了口头指示,规定第87师、第88师、第74军及教导总队“如不能全部突围,有轮渡时可过江,向滁州集结 ”。这就大大降低了命令的严肃性,也为不执行命令制造了借口,以致计划中规定的由正面突围的部队,除广东部队第66军及第83军之大部按命令实施突围外,其余各军、师均未按命令执行。有口头指示为依据的部队,必然一起拥向敌人尚未到达的下关,以便迅速、安全地渡江北撤;许多未接到撤退命令的部队因发现友军撤退而撤退。虽接到命令而并不知道撤退计划详情的旅、团长们也都认为上级既然要军队撤退,在下关必然已准备好大量渡江工具,因而亦皆拥向下关。
自行决定由下关渡江的军、师长大多未按命令规定的时间开始撤退,而是在散会后立即部署部队撤退。有的单位在接到命令前即已撤走。如卫戍司令部第2军团负责固守乌龙
山要塞以掩护其他部队撤退和突围,应最后撤退,但徐源泉于12日下午即率其第41师和第48师从周家沙和黄泥荡码头乘坐其预先控制于该处的民船最早渡至江北,经安徽去江西整顿。乌龙山要塞部队在徐源泉部撤走后,也于当晚毁炮撤去江北。有的将领只向所属部队打撤退电话,或回去安排一下撤退事宜就脱离部队,先行到达下关,随同卫戍司令部及第36师乘渡船先到江北。如第71军军长王敬久、该军第87师师长沈发藻等根本未回指挥所;教导总队队长桂永清回到富贵山地下室指挥所后告知幕僚撤退任务,即留参谋长邱清泉处理文件等,自己单独先去下关;其第2旅旅长胡启儒得知撤退消息较早,不等会议结束,即以奉命去下关与第36师联系为由,电话通知其第3团团长代行旅长职责,独自先去下关。
由于城中各部队多沿中山路向下关撤退,而挹江门左右两门洞已
经堵塞,仅中间一门可以通行,各部争先抡过,互不相让,不少人因挤倒而被踩死。如教导总队第1旅第2团团长谢承瑞,在光华门阵地上曾英勇地抗击日军多次冲击,却在挹江门门洞内被拥挤的人群踩死。有的将领,如第83军第156师师长李江见城门无法挤过,就从门东侧用绑腿布悬吊下城出走。
下关情况更为混乱,各部队均已失去掌握,各自争先抢渡。由于船少人多,有的船因超载而沉没。大部官兵无船可乘,纷纷拆取门板等物制造木筏渡江,其中有些人因水势汹涌、不善驾驭而丧生。
因乌龙山要塞守军撤走,原停泊于草鞋峡、三台洞(燕子矶南)的“文天祥”**快艇中队也于12日夜驰去大通,12月13日拂晓,日军山田支队未经战斗即占领了乌龙山;日海军舰艇通过封锁线到达下关江面,日军第16师团一部亦乘舟艇进至八卦洲附近江面。大量正在渡江的中国军队官兵被日海军及第16师团的火力和舰艇的冲撞所杀伤。宪兵副司令萧山令即死于半渡之中。与此同时,日军各师已分由中山门、光华门、中华门、水西门等处进入南京城内;原在镇江的天谷支队已渡过长江,正向扬州前进中;国崎支队已至江浦,正向浦口前进中。已渡至江北的中国军队沿津浦路向徐州方向撤退。
12月14日,根据中国大本营的指示,唐生智在临淮关宣布南京卫戍司令长官部撤销,撤至江北的卫戍军部队改隶第三战区。南京保卫战基本结束。
从12月12日下午开始,南京卫戍军各部队撤退及突围的情况大致如下(南京大屠杀60年祭专辑给出的国军突围撤退的数字是32144人):
卫戍司令长官唐生智、副司令长官罗卓英、刘兴及长官部官兵,12日晚从下关煤炭港乘预备的小火轮渡江至浦口,得到日军已至江浦附近、正向浦口包围的情报,遂徒步向扬州顾祝同第三战区司令长官部靠拢;13日7时到达扬州时,顾祝同及第三战区司令长官部已移驻临淮关,临行时留下6辆卡车。唐生智等主要官员及卫队乘汽车至滁州转火车,于当晚到达临淮关。
在司令部渡江后,第78军、第36师亦于煤炭港分批乘船渡江,至乌衣集结,尔后乘车去蚌埠,又转信阳去江西萍乡整顿。在叶肇及邓龙光两军长参加会议后,第66军及第83军(均为广东部队)共同研究决定:不遵守唐生智令第83军掩护其他部队突围后再于次日晨6时突围的命令,两军由叶肇统一指挥,按计划由正面突围,向指定地点转进,当即下令各师“按160、159、156、154师之顺序,由太平门突围,经汤山、句容向安徽宁国集中 ”。12日20时前后,除156师因未接到命令外,其他3个师先后通过太平门。途经岔路口、仙鹤门、东流等地时,均遭日军阻击,第159师代师长罗策群率队冲击时阵亡。拂晓前到达汤山附近时,又遭日军第16师团主力的猛烈攻击。部队逐渐失去掌握,各自为战,数百人或数十人一队,分头向指定地点转进。叶肇、邓龙光与各自的部队失散,均换着便衣突过日军包围圈。20日前后,各师大部分别到达南陵、歙县。第66军参谋处处长郭永镳在九华山一带收容失散的官兵约1300余人,临时编为3个营。1938年1月上旬,他们到达宁国附近归队。未接到命令的第156师师长李江率队与教导总队等一同撤至下关,部分官兵渡过长江,辗转归队。
南京卫戍军的其他各部均于12日下午和夜间拥至下关。第74军组织较好,又掌握有一艘小火轮,约有5000人渡过江北。其余部队仅有一部得以渡江,大多留在江南,遭日军杀害。