为确保太原和解除晋北中国作战部队的后顾之忧,第2战区司令长官部决定组织娘子关保卫战,“以第1战区由保定南移之部队,进占娘子关一带山地,确实保守之,并相机进袭石家庄,威胁由平汉路南进之敌军”(《第二战区娘子关保卫战作战方针和指导要领》,国民政府军令部战史会档案,中国第二历史档案馆藏。)蒋介石命由平汉路撤退下来的第1战区主力孙连仲、冯钦哉的第26、27两路军和曾万钟第3军等部共约7个师的兵力,沿晋冀交通动脉正太路井陉至娘子关一线布防,扼守晋东要隘娘子关,开辟保卫太原的东线战场,由第2战区副司令长官黄绍竑指挥。
平汉路方面日军攻占石家庄后,即新增土肥原师团在漳河一带与商震第20集团军展开激战,并以川岸文三郎第20师团及108、109师团各一部和伪满军一师渡过滹沱河,由正太路进犯,企图进出娘子关以西地区,威胁太原,并策应日军第5师团在晋北方面的作战。
中国军队向娘子关附近转进,仓促进入阵地,立足未稳,日军即跟踪而至,向中国军队阵地发起猛烈攻击。11日,日军分别向井陉、贾庄发起进攻,并以一部约八九百人向第17师正面长生口绕攻,直抵旧关,进逼娘子关侧后,中国守军部署未定,部队散乱,无法组织有效堵阻,井陉、长生口被突破,旧关也于12日失守。同日,黄绍竑命原定增援晋北的孙连仲第26军回援,同时令第3军向旧关、新关附近集结。是日夜,又令第17师以一部向长生口出击,迟滞日军前进,并固守娘子关以东要地雪花山。最初较为得手,克复刘家沟、长生口等处,后遭敌反攻,雪花山守军指挥官因疏忽致使阵地丢失。第17师发动反攻,损失严重仍未克复阵地,不得已退守乏骡岭。
14日晨,日军出动一个联队共千余人,分别向旧关镇及苇泽关侵入,遭到第26路军第79旅迎头痛击。孙连仲另派第27师一部绕袭核桃园,分兵向关沟之敌猛烈夹击,“激战两日,肉搏10余次,当将关沟之敌歼灭殆尽”。(《孙连仲致蒋介石密电》(1937年10月16日),国民政府军令部战史会档案,中国第二历史档案馆藏。)15日晨,第3军第34旅由大小梁家亘王家岭向旧关推进,同第26军一部围攻旧关,中国军队全线发起数次猛攻,激战至晚间,“敌已有动摇模样”。16日拂晓,日军实施反击,中国军队虽将关沟残敌肃清,但旧关被包围的日军利用东南及西北高地顽抗,日军并派飞机大力支援,中国军队无法展开攻势。傍晚起,日军向第27路军工兵营所在的旧关西南高地反攻,将阵地突破。前往增援的第27军教导团伤亡惨重,几至全部牺牲。17日,中国军队继续攻击,拟先切断旧关之敌后路,然后将其歼灭,而日军又大举反攻,双方激战,肉搏10余次,伤亡均重。中国军队以火力封锁了核桃园至旧关的通路。
19、20两日,日军由正面向乏骡岭中国第17师阵地攻击。中国守军在赵寿山师长率领下与敌殊死搏杀,伤亡惨重,全师13000余人,仅剩2700人,被迫撤离,阵地失守。而旧关至核桃园一带之日军则连日遭中国军队的攻击,山沟中陈尸累累,伤亡甚重。残敌千余退守旧关附近高地。19日,日军第20师团长接到攻占阳泉平原的命令,决定兵分两路,右纵队沿井陉、新关至石门口大道及其以北攻击前进;左纵队共步兵4个大队、山炮兵1个大队沿测鱼镇至石门口大道前进,即迂回攻击娘子关中国守军的右侧背。(日本防卫厅防卫研究所战史室:《中国事变陆军作战史》第1卷第2分册,第72~73页。)当日奉命增援晋东的第18集团军第129师到达阳泉,奉令进驻马山村、七亘村一带,掩护娘子关守军右侧背。
21日,中国军队继续进攻旧关之敌,日军据高顽抗,至晚11时,核桃园及大小龙窝完全被中国方面占领。娘子关正面日军得到增援,则用飞机、火炮协同步兵猛攻北峪、(1000)标高地及南峪以北附近高地中国军队阵地,北峪等阵地被其突破。22日拂晓,日军猛烈进攻南峪东南(1000)标高地等地,(1000)标高地“守兵全数殉国,敌迫近地都”。黄绍竑决定缩短防线,将剩余部队移至锦山及娘子关以北高地固守,以节兵力,同时令第27军在臭水、桃林坪、观音陀山一带构筑阵地。(《黄绍竑致蒋介石密电》(1937年10月22日),国民政府军令部战史会档案,中国第二历史档案馆藏。)第26军已在娘子关血战八昼夜,兵力不满6000人,应付娘子关正面长达50余里的防线,实感困难。孙连仲请求增援,阎锡山命令自四川步行北上的川军第122师、第124师沿正太线前往增援。此后直至26日,娘子关正面中日双方军队一直处于对峙状态。
日军左纵队由横口车站渡河西进,23日到达南障城,并以大部南下测鱼镇方面,一部约二三百人抵达刘家珊、固栏村附近。24日,测鱼镇方面步骑联合之敌3000余人在七亘村遭到第129师386旅771团阻击,因众寡悬殊,该团损失较重。日军向马山村进攻,刚到该处之川军一部被击退。为缩短阵线,中国军队当日令第3军由固兰村后撤,日军一股约300人遂乘机由中国军队阵地空隙窜入十家路、乱安村,向固驿镇中国军队右侧背进攻。黄绍竑急令第122师一部与第3军向敌夹击,但至25日,敌左纵队已全部到达固驿镇附近,与中国守军发生激战。
25日,日军以一部骑兵为主体,由马山村方面闯入中国方面第3军右翼后十字道、乱安村及固驿村南端高地,同守军展开激烈争夺。同时在西回村西方高地,川军第122师同日军遭遇,发生激战。此时,马山村至平定道路除第122师外,已无兵可派把守。为防止日军断我后路,26日,黄绍竑与阎锡山会商后,“抱最大决心以26路军留一小部守娘子关,主力移至巨城镇、移穰镇,进出柏井驿、桥头村,以本日第二次新加入之川军124师之一旅推进石门口,准备对敌总攻”,(《黄绍竑致蒋介石密电》(1937年10月26日),国民政府军令部战史会档案,中国第二历史档案馆藏。)并调冯钦哉部3个团,准备于上下盘石至巨城镇间抗拒娘子关方面敌军。娘子关主阵地遂于是日被日军突破。守军旋即按计划全线撤退,晋东门户娘子关失守。