1938年9月,日军在山西地区增兵,第108旅团的山口少将率先带队猛攻,迅速占领了黄河军渡一带,并将指挥部迁至离石县城。然而,八路军115师却在汾离公路上连续伏击日军,重创了敌军的运输车队,使得日军的补给线陷入瘫痪,运输车队不敢再前进。汾离公路上,日军的车辆已经连续几天无法见到,导致黄河边上的日军士兵陷入困境。由于没有得到后方的支援,他们没有粮食和弹药,山口少将只得下令让部队屠杀战马充饥,并决定死守等待援军。
为了挽救黄河岸边的部队,日军再次展开了运输补给。然而,这一举措再次遭遇八路军的重创,日军损失了超过400人,108旅团的50辆运输车也损失近五分之四。由于后方的补给线被切断,驻守离石的108旅团上下感到恐慌,山口少将不得不带领部队沿着公路向汾阳撤退。在撤退过程中,他们被八路军盯上了,115师下令由686团团长杨勇率领部队伏击日军,并临时将685团2营和师部特务连调给杨勇。山口少将一路上被八路军的小分队袭击,心生恐惧,变得异常谨慎。面对时刻警觉的日军,杨勇深知敌人难以伏击,于是决定利用突然袭击打破敌人的戒备。 为了实施突然袭击,杨勇反复思考后决定,先带领部队悄悄接近日军新建的王家池据点,再根据时机展开攻击。王家池地势险要,山路狭窄,而日军曾在此吃过亏,所以特意设立了一个据点。八路军计划在敌人眼皮底下布下埋伏,难度非常大,但杨勇决心冒一次风险,决定在敌人不知情的情况下发动进攻。9月20日拂晓前,杨勇指挥的686团及配属部队悄悄抵达王家池附近,隐蔽进入指定阵地。凌晨时分,疲惫的日军再次出发,尽管一路上遭到游击队的袭击,但山口少将仍严令部队不得恋战,迅速前进。因此,日军只能仓皇后退,完全没有反击。 到了中午时分,日军骑兵首先出现在公路上,紧随其后的是辎重、炮兵和步兵,队伍拥挤、喧哗,逐渐进入王家池山谷。杨勇在这一刻下令:打!686团2营首先发起猛烈攻击,其他营也紧跟其后,快速冲向敌人。冲锋号声和战斗呐喊震动了山谷,八路军将日军迅速分割成几部分,紧紧抓住山口指挥部的核心,死死围住不放。日军的头尾两段部队拼命反击,试图为指挥部解围,双方展开激烈的近战。在这关键时刻,杨勇指挥685团2营火速增援,直接冲向山口少将所在的指挥部。经过激烈的混战,山口少将最终在战斗中阵亡。山口一死,日军的指挥体系彻底混乱,八路军趁势将敌人一段段击溃。此次战斗八路军歼灭了近千名日军,胜利的消息迅速传遍整个吕梁山区,轰动一时。这一胜利也被中共党史出版社的《十大王牌军》一书详细记载,成为经典的军事战例。