十月二十一日,日军第二十师团全部投入娘子关作战。在师团长川岸文三郎的指挥下,日军兵分两路向娘子关发起攻击。娘子关正面防线上中国守军第八十八旅的阵地,当日即被日军突破。一股日军突入旧关与娘子关之间,切断了通向娘子关的铁路线,令孙连仲和冯钦哉的部队身陷娘子关车站内。这个时候,附近已经没其他部队可以调用,如果让日军继续向前攻击,娘子关的失守近在眼前。阎锡山正一筹莫展之时,另一个声音在电话里插了进来,阎锡山一听,是第三十八军教导团团长李振西。李团长表示他的部队距娘子关约五十公里,如果现在出发,明天即可赶到战场。阎锡山和黄绍宏同时大喜过望:“这是杨虎城的卫队团,就叫他们开来吧!”
中国陆军第三十八军教导团,原是陕西绥靖公署教导团,是杨虎城储备干部的机构,官兵大多具有初中或高小文化程度。西安事变后,杨虎城被迫出国,陕西绥靖公署被取消,绥署部队被改编为第三十八军,其中的教导团官兵“近三千人,装备很完全,而且都是青年学生,团长李振西尤为勇敢”,李振西的教导团以一种慷慨赴死的劲头冲了上去。李团长决定改变死拼的战术,集中火力,把狭窄的关沟变成日军的一口活棺材。午后,步兵突击组在机枪的掩护下向关沟发起了冲击,一个组伤亡太大,就换上另一个组,一波接一波决不中断。战至黄昏,关沟完全被中国军队控制。
这是一次连日军都没想到的局部反击。夜色之中,教导团官兵杀声震天,日军尚未反应过来,大刀就砍在了他们头上。彻夜的激战,李振西团又付出了三百多人伤亡的代价,但是中国官兵居然连续拿下了八座山头。但是,自二十二日起,日军对娘子关的攻击更加猛烈。包括教导团在内的中国守军各阵地都出现了肉搏战。第三十师的阵地被日军突破,该师一七八团被日军包围于北峪。第二十七师第七十九旅伤亡甚重,被迫阵地后移。李振西的教导团在阵地上死守不退,伤亡殆尽时才接到换防的命令。教导团在娘子关战斗三天,活下来的官兵仅剩几百人。
中国官兵的血战并没有令娘子关战局得到缓解。娘子关阵地仅正面就宽达一百七八十里,连续苦战已经伤亡惨重的中国守军无法全面固守,而阵地的每一个点被突破都会使全线防御岌岌可危。特别是日军右纵队突击娘子关正面时,左纵队急促地推进严重威胁着娘子关的侧背。在这个方向上,奉命增援的八路军第一二九师刘伯承部拼死阻击。该师第三八六旅陈赓部的七七二团袭击了日军攻击部队的侧翼,令其行动速度明显地缓慢下来。接着,该旅又在石门口附近打了一场阻击战,歼灭日军两百余人。
整日苦于无兵增援娘子关的阎锡山,突然得知一支部队抵达了太原附近:中国陆军第二十二集团军---清一色的四川人----在总司令邓锡侯的率领下出川来与日本人打仗了。卢沟桥事变后,川军纷纷请缨杀敌。国民政府军事委员会将川军第四十一、第四十五、第四十七军合编成第二十二集团军,令其出川抗日。川军武器简陋,第四十一军没有骑兵和炮兵,除了步兵团各有一个迫击炮连外,全军没有一门野炮和山炮,一个旅也只有八挺重机枪和两挺轻机枪,且无论轻重机枪和步枪都是四川土造的,因为步枪没有刺刀,每个士兵另外配发一把大刀。
川军尚未部署完毕,日军的攻击已经开始。七二八团官兵用手榴弹阻击,手榴弹用光了就与日军肉搏。日军使用了毒气炸弹,七二八团阵地丢失。日军接着攻击南山主阵地,七二七团的机枪被日军炮火压制,官兵们卧倒在战壕里等着。日军的步兵逐渐接近,那一刻川军跳出来抡起大刀开始肉搏。日军使用了火焰喷射器,一营伤亡殆尽时被迫退守第二线。——川军不知道,此时娘子关防线上的中国守军已开始全面撤退了。
十月二十六日,日军进至娘子关与新关侧后的柏木井,中国守军正面防御部队因侧背受敌开始后撤。正在奋力阻敌的八路军第一二九师见前线危急,立即命令第三八六旅七七二团开设阵地准备迎敌。七七二团将阻击地点选在一个名叫七亘村的地方。这里是一个隘口,处于山西的平定县、昔阳县与河北的井陉县交界处,是一条险要的山沟通道。二十六日拂晓,娘子关其他中国守军部队开始后撤时.日军朝着八路军第一二九师设伏的阵地走来了。
日军先头部队接近营庄时,辎重部队正好行至我十二连伏击地前面。王副团长即令重机枪向日军射击,伏击部队随之向日军猛烈射击。刹那间,成群的手榴弹,密集的子弹,像从山崖上泻下来的瀑布般倾向敌群。正在行进中的日军被这突如其来的袭击打懵了,还没搞清是怎么回事,就死伤一大片。这时候,我十一连按照原定计划,迅速抢占了七亘村南大道两侧及该村西南的定盘山,将日军步兵和辎重兵部队拦腰切成两段。 当日军先头步兵企图掉头增援辎重部队时,遭到我十一连的阻击。被截击在中间的辎重部队,上天无路,入地无门,完全丧失了控制能力。
此战,八路军歼灭日军三百余人,缴获三百多匹骡马、骆驼以及大批军用物资。刘伯承决心“在七亘村一带再打一仗”!第二天,日军后续部队上来了,在七亘村再次遭遇伏击,又付出了百余人的代价。八路军第一二九师,两战仅伤亡三十余人。在缴获的物品中,最让刘伯承高兴的是数张中国印刷的山西军用地图,——刘伯承曾向阎锡山要过山西军用地图,阎锡山说他没有----在此之前,刘师长指挥作战用的地图来自一本中学地理课本。
八路军的作战无法挽救娘子关的整个战局。二十六日,日军占领娘子关。卫立煌致电蒋介石,告知阎锡山已经决定放弃忻口。娘子关方向中国守军的溃败,令战区副司令长官黄绍宏焦急万分。他在电话里对孙连仲说,如果不在阳泉一带重新设防抵抗,日军就会直接冲进太原城,那样我们就要负历史责任!孙连仲打电话给第四十二军军长冯安邦,说如果再撤退就枪毙你。冯安邦的回答是:“我当尽自己最大的努力,但是我手上仅有一连,其余的部队都脱离了掌握。”——孙连仲和冯安邦是亲家关系,能说出“枪毙”二字,可见局势已恶化到何种地步。