晋戎骑兵在遭到攻击时几乎没什么损失,因为他们不是敌人进攻的重点。耿军对骑兵进行一次敷衍了事的进攻,然后就把他们放出包围圈,转而进攻晋军主力。
而正是因为被敌人所轻视,狐偃才感到极为恼火。狐偃看到敌人已经逐渐缩包围圈,认为使用蛮力攻击敌人防线效率过于低下,于是带着部下纵马顺着缓坡蹿上丘陵,然后沿着另一道斜坡冲下去。由于地势的原因,此处的敌人数量稀少,骑兵便以此为突破口杀进包围圈。
伏击圈外的两股晋军也很快做出反应,纷纷从各个地点对敌发动进攻敌饶战车也从较远的隐藏处赶来增援。
战场上最为激烈的战斗围绕着晋献公展开。太子挥极力想要活捉晋献公,他把最能打的士兵全都投入到这个局部战斗中来,而且赶来增援的耿军也越来越多而晋国方面也是如此,双方军队干脆搅成了一锅粥,以至于后来交战的士卒之间已经没有一支戈的距离,而是用短兵器、拳脚和牙齿在搏斗了。
晋军的防线终于被撕开一道口子,敌饶战车和步兵正在飞奔而来。当时晋献公的御戎是赵夙,车右是毕万赵夙驾车转过一片林地:“君侯必须马上下车,臣要引开敌军。”晋献公立即跳车,带着几个侍卫钻进树林。赵夙命令卫队里的一个士兵上车站在晋献公的位置上,然后驾驶战车夺路而逃。晋献公看到追击赵夙的战车越来越多,不禁失声痛哭。
耿军没有料到把一次奇袭行动打成了全面的对抗战,如此一来不得不他们制定的战术计划已经完全失败。在河西地区,没有一支军队能够在与晋军的正面交锋中取得优势。晋戎骑兵的加入拉开了双方实力的对比。
狐偃把骑兵分成若干队,各队或分或合、各自为战。骑兵还找到了仓皇无助的晋献公,把他送回晋军主力。晋献公再次登上战车,他立即恢复了霸王之气,再次带领军队冲入敌阵。
晋军对于放下武器的耿军不再加以伤害,但是对负隅顽抗的却绝不手软这种方式使得很多敌人见势不利就主动投降了。随着时间的推移,战场上各处的战斗逐渐平息下来。
晋献公几乎跑遍了整个战场,却仍然没有发现赵夙和毕万的行迹。正当人们因猜测这两个人已经遭遇不测而感到难过的时候,远处传来了欢呼声。晋献公登高一望,望见一群士兵簇拥着两个人和一匹马向他这边跑过来。
献公认出那是他战车上的四匹马的其中之一,赵夙和毕万分列马的左右赵夙手持辔头,毕万的戟锋上戳着太子挥的首级。三位英雄来到献公面前,赵夙从怀里摸出两面君旗,把它们交给献公毕万则把太子挥的首级献给他。
晋献公搂着两人一马,不禁嚎啕大哭。
晋军稍作休整后继续向耿国挺进。耿伯站在城楼上,要求晋献公把太子的尸体还给他。晋人推出一口制作还算考究的棺材,掀开盖子,然后耿伯就看到了里面身首异处的儿子。耿伯不禁大哭起来,哭完便纵身跳下城墙,摔死在儿子身边。
晋军稍后便进入耿国。由于晋人在入城的过程中没有受到抵抗,晋献公传令禁止侵犯耿饶人身和财产。
不久传来消息,申生的下军在曲沃附近击败了斗志全无的耿魏联军。
晋军一次出征竟然灭亡了三个国家,取得了令人无法想象的巨大战果。虢公丑并非没有做出救援盟友行动,但是晋军的作战效率实在太高当虢军从都城出发时,三国已经被灭亡了。
晋献公把耿赐给赵夙,把魏赐给毕万。谁又能想到,两百余年之后,就是这两位为国事蹈死不旋踵的忠臣的后代,竟然伙同韩氏家族将晋国一分为三呢?
赵夙的先人赵叔带曾官居西周大夫,后来被周幽王罢官夺爵赶出王宫。他只得带领族人投奔了晋文侯。赵氏家族在晋国生活的一百余年间已经逐渐没落,这次赵夙被重新任命为大夫,是赵氏复心开始。
毕万的先祖是毕公高,毕公高是周文王的第十五个儿子。武王在克商后将他封到咸阳附近,国号为“毕”。毕国立三百余年,后被西戎所灭毕国的公族成员便以毕为氏,分散于华夷大地。
毕万的年少时代是在成周度过的,他受过良好的教育,体魄强健、精于格斗。毕万行完冠礼后打算到晋国谋求发展,但又不知道凶吉,于是请周大夫辛廖进行占卜。占卜的结果是“屯”变“比”卦。
辛廖:“大吉。屯为坚固,不怕遭遇艰险比为亲密,可以得到君主的赏识。恐怕没有比这个更吉利的了,你的家族必然会兴旺昌盛。这是公侯之卦,你的子孙必然会复兴毕国。”
毕万受封魏国故地后,晋大夫郭偃:“毕万的后代一定会壮大。万是盈数,魏即是巍,是为大名上用这次封赏来启导毕氏。子管理兆民,诸侯管理万民他的名那么大,一定会聚集万民。”
太子申生在这次战事中展现出卓越的军事才能和非凡的战斗勇气。好人们希望晋献公能因此改变想法,放弃废黜太子的念头。晋献公先把申生大大夸奖了一番,然后就又为他修缮曲沃城,这表明他仍然没有把太子留在身边的想法。