晋国周边居住着姜戎的几个大部落。姜戎是个大概念,广泛分布于秦、晋、周及楚国北部。晋国北部的这支姜戎早先分布在瓜州(甘肃敦煌)一带,后来不堪忍受秦国打击,不停东迁,最后不得不渡过黄河,寄居在晋国篱下,成为晋国的附庸。
晋国使者来到姜戎部落,要求部落出师协助晋军作战。秦军俘获了大量人口和财物,队伍变得十分臃肿,行动也迟缓下来,这样就给了敌人以充分准备的时间。
三月底,晋军与姜戎兴师。晋襄公身穿黑色丧服,梁弘御戎,莱驹为车右。晋军布置在崤山隘口西端,姜戎在其东端。
四月十三日,秦军到达崤山东口。由于受到过蹇书的警告,西乞术不得不变得谨慎起来,他提出应当首先进行大范围、审慎的侦查,确定沿途安全后再进入隘道。但是孟明却无视西乞术的意见,他只是敷衍了事地观察了下附近的地形就下令全军进发。
秦军完全进入伏击圈后,就无法避免被全歼的命运了。太阳偏西时,秦军先头部队已经看到了前方宽阔的山口,西乞术不禁长舒一口气;孟明转过头,跟他开起玩笑来;军士们一路上紧张的心情也随之放松下来。
就在人们相互说笑之时,山脊上突然回响起惊雷般的战鼓声,晋军把大量的树干和石块抛下山脊,瞬间就堵住前进的路线。战车进图不能,孟明抽剑跳下战车,传令各自为战。秦军后队便转身向东突围,但是姜戎步兵占据了东端,用强大的箭雨封锁了入口。
秦军被困在山道中,前后不能相顾;军士与俘虏挤在一起无法作战;敌人则居高临下,大肆射杀无所逃避的秦人。孟明眼见突围无望,军队伤亡越来越大,敌人的包围圈越缩越紧,于是宣布投降。
崤之战的结果是:秦军无人能够逃脱,匹马只轮不得返回;尸体遍布整条山谷却无人收敛,战俘们的命运各有不同,下场最悲惨的是被当做战利品赏赐给了姜戎。
晋军带着秦军三帅和卤获物返回曲沃。晋人在举行告庙仪式后安葬了晋文公,晋人从此将丧服的颜色由白色改为黑色。
晋文公的夫人文嬴决定营救三帅,他不想给晋襄公以思考的机会,便在文公神主安放仪式结束后立即找到晋襄公。
文赢说:“秦军的三帅是离间两国关系的罪魁祸首,也是两国君主都想处死的人。但是他们如果死在晋国,就会成为秦国的英雄,加深两国的仇恨,使两国再也没有复交的机会;但是如果将三人被释放,他们就会成为秦国的耻辱,将会被秦君处死在太庙中,三人的亲族也无法得到幸免。所以,就让秦君遂愿,让他们死得更难看些吧!何必为了三个罪人加重两国的怨恨呢?”
晋襄公并非不清楚文嬴的本意,但是他一方面觉得三个战俘无足轻重,一方面又对文嬴充满了**。他要用此作为交换,以换取文嬴的青睐。晋襄公无法拒绝她的要求,立即把三人放了。
先轸很快得到了消息,但他搞不清楚晋襄公的意图,驾车匆匆赶到宫中,问晋襄公将如何处置秦军首领。晋襄公说:“夫人请寡人释放他们,我已经按夫人的意思办了。”
先轸大怒:“武夫拼死作战才擒获的敌人,仅凭妇人一句话就被释放了?!损害国家的胜利、助长敌人的仇恨,国家灭亡没有时日了!”说完对着晋献公脚下狠狠吐了一口口水。晋襄公这才从对文嬴的无限幻想中清醒过来,命太傅阳处父马上把三人抓回来。
孟明三人逃出城后打倒两个官吏,抢了一辆马车。三人经过一天一夜狂奔,终于到达黄河岸边。三人看见岸边有条小船,一位蓑笠老翁正坐在船里支杆垂钓,孟明大喊道:“夫子渡我!”
老翁头也不回说道:“我渡秦人,不渡晋人。”
孟明继续喊:“我们就是秦人!我是百里视,旁边是术和丙,是从崤之战中逃回来的人!”
老翁扔掉鱼竿、站起来转身叫道:“我奉蹇大夫的命令,在这里等候多日了!我的船小,三帅沿河下行五里,那里有艘大船,可以渡你们过去!”
三人继续拔脚狂奔,终于在追兵到来前登上渡船。阳处父追到河边,看到渡船已经离岸而去,他解下战车左侧的骖马,大声叫道:“孟明将军,寡君没有为诸位践行,心中感觉失礼,所以特命我来将这匹战马送给将军,请将军收下!”
孟明就像刚逃出樊笼的野兽,绝不可能再回头钻进圈套了。他在船上向对方行礼道:“承晋君之恩惠,没用罪臣的鲜血来衅鼓,又使我能够死在秦国。如果寡君处死罪臣,我死而不朽;我如果能借助晋君的恩惠得以幸免,三年之后一定会回来拜君所赐!”
三人渡河之后,不敢进入雍都;他们披散着头发,身穿素服,把自己关在郊外一座小房子里,等待秦穆公的命令。
秦穆公身穿丧服,亲自率领大夫们到郊外迎接三帅,他边哭边说:“孤违背蹇叔的意志,使诸位受辱,这是我的罪过,与你们无关。”
孟明请求免去自己的爵位。秦穆公说:“这是我的过错,大夫有什么罪?我不会以小过失掩盖大功德。”
崤之战后,两国便永绝仅持续九年的“秦晋之好”;终春秋之世,秦晋绝大部分时间都处于敌对状态,晋国始终将秦国的势力牢牢压制在黄河以西。两国虽然一度结盟,但也只是在互相猜疑中签订了盟约,一次结盟也只是另一次分裂的开始。
直到晋国被赵魏韩三家瓜分,秦与三晋才再次建立起错综复杂的外交关系。