10 月 16 日,中国军队再次对旧关日军发动大规模反攻。同日,井陉增援的日军也已抵达核桃园一线,并在飞机掩护下向第 3 军 34 旅猛攻。34 旅不敌日军,被击破阵地,全旅退守旧关东南高地。守在旧关东南高地的 12 师与日军正在对峙,情势危急之下,第 38 军教导团抵达战场,迅速投入战斗。
战至 18 日,旧关仍未夺回,中日两军均伤亡惨重,尤其是第 38 军教导团,占领旧关以西高地后遭到日军多次反扑,全团伤亡大半。
18 日拂晓,日军援兵分别向池峰城 31 师防守的黄石嘴、27 师防守的关沟以及 1000 高地猛攻。战至夜晚时分,孙连仲命令 31 师夜袭旧关,激战一夜,终因拂晓时日军援兵赶到再次铩羽而归。
中国军队在旧关与日军血战多日,虽然将旧关日军歼灭大半,但始终未能夺回旧关,且参战各部均伤亡惨重。与此同时,娘子关正面的 17 师再次被日军击退,乏驴岭失守,17 师被迫撤到北峪附近。
战至此时,娘子关战役虽然已经打响数日,但是第 20 师团主力依旧在石家庄休整,进攻娘子关的只有 39 旅团。39 旅团以逐次增兵的办法始终未能突破娘子关防线,这让华北方面军司令部产生不满。由于忻口日军陷入困境,于是第 1 军遵照司令部指示命令第 20 师团以全部兵力尽快突破娘子关,占领阳泉。
10 月 20 日,日军第 20 师团主力大举西进,一路沿着井陉-新关-石门口进攻,一路负责迂回,沿微水镇-侧鱼镇-石门口进攻。
同一天,日军 39 旅团一部在飞机掩护下向北峪、大小龙窝、地都一带阵地猛攻。负责防守的 30 师、27 师虽然抵抗英勇,但因为双方装备差距太大,两个师伤亡惨重,多处阵地被突破。战至 22 日,两个师被彻底击退,日军攻占阵地。
此时,中国军队在日军连日来的猛攻之下损失惨重,节节败退。日军已经逐步逼近娘子关隘口,对娘子关形成了包围态势。黄绍竑根据战场局势,命令 26 路军缩短战线,在绵山至苇泽关一带重新布防,阻击日军。
23 日到 24 日,长生口、旧关日军在飞机掩护下向第 3 军各部发起进攻。第 3 军面对日军的凶猛攻势,阵地不断失守,全军伤亡惨重。
在娘子关正面激战的同时,日军负责迂回的 79 联队主力已到达南、北障城,其先头部队更是进入侧鱼镇东北方高地。
黄绍竑根据此种情况,紧急命令八路军 129 师进驻七亘村、马山村一带。同时孙连仲也在 22 日向阎锡山请求援兵,阎锡山遂令刚抵达太原的川军第 22 集团军第 41 军增援。
23 日,日军 79 联队先头部队与八路军 129 师 386 旅以及第 7 师一个旅发生战斗。八路军 129 师两次七亘村伏击,予以日军重创。川军 41 军 122 师王铭章部 364 旅受命在七家峪、马山村一带阻击日军,但由于人生地不熟,立足未稳便遭到日军攻击,损失惨重。随后日军乘胜追击,向第 3 军所在的固驿镇进攻,遭到第 3 军顽强抵抗。
10 月 26 日,黄绍竑在得到阎锡山同意后,将 26 路军主力转移去阻击马山村西进日军,娘子关由冯钦哉部三个团防守。黄绍竑的这一举动导致娘子关兵力急剧减少,面对日军进攻抵抗的非常吃力。日军在发现娘子关兵力大减后,加强了攻势,很快就击破守军,占领了娘子关。
娘子关失守后,晋东门户大开,太原东面屏障尽失。
日军占领娘子关后,第 1 军为扩大战果,攻取太原,命令第 20 师团继续西进,进攻阳泉。第 20 师团兵分两路,一左一右追击败退的中国军队。
面对此种情形,黄绍竑将中国军队重新组织布防,阻击日军。右翼由 41 军 122 师和 124 师守备,124 师 372 旅防守石门口一带,122 师占领赵家庄、冶西一带。正面 26 路军第 30 师占领 1121 高地至 1018 高地一线,27 路军第 42 军占领白道堰至龙庄西方高地。左翼方面,27 路军 169 师占领桐花村、山头村、卧虎村一带,另由 17 师占领马鞍山、南畔一线。与此同时,阎锡山因为没有兵力增援东线,便电令五台山区八路军 115 师以及 120 师开赴阳泉。
10 月 27 日,日军左路纵队击退川军 122 师 372 旅,紧接着又击退 124 师,并抽出一部兵力在飞机支援下占领 30 师防守的 1121 高地。右路纵队则是击退赵寿山 17 师,占领了巨城镇。正面进攻的日军接连击退 27 路军,迫使其退守甲鱼沟、蔡家峪、张家沟一线。
面对中国军队不断败退,东线战局的日益恶化,远在南京的蒋委员长当即严令前线各部不得退过寿阳以西。
10 月 29 日,日军向平定地区发起进攻,在白家享守备的 31 师两个连全部牺牲,31 师被击退,平定地区失守。随后日军乘胜追击,一举攻陷了阳泉。31 日,日军又大举进攻川军防守的辛兴镇,川军不敌,阵地再次被突破。
南京见晋东形势危急,急调第一战区汤恩伯率 13 军参加晋东作战,攻击日军侧背。汤恩伯接到命令后立即率军出发,经涉县、昔阳、平定前进,对日军发动进攻。
11 月 1 日,孙连仲 26 路军占领正太路一线高地继续阻击日军,同时命令 30 师占领寿阳东部高地。川军 41 军 122 师、124 师则是退到龙泉镇构筑防线。
11 月 2 日,日军大举进攻寿阳。寿阳以东高地的 30 师遭到日军夹击,寿阳正面以及马首村阵地也遭到日军进攻。激战多时,30 师、31 师以及第 3 军一部均被日军击退,寿阳城沦陷。
至此,娘子关战役结束,东线战局彻底崩溃,太原陷入危机之中。