鲁僖公三十二年(公元前628年)的十二月九日,晋文公,做了八年霸主后,在绛城寿终正寝。他与偪姞生的儿子公子欢继位,史称晋襄公。晋文公重耳十七岁流亡,在狄国十二年,齐国六年,三十六岁返回晋国即位国君,在位八年,去世时四十五岁。
十二月十日,晋文公的灵柩将运往曲沃停放。运送灵柩的队伍刚出绛城,棺材里发出了象牛叫的声音,众人不知发生了什么事,纷纷驻足停留,望着文公棺椁。晋国卜官偃命众大夫跪地而拜,他对大家说:“国君发布军事命令:将有来自西边的军队过境袭击晋国;如果攻击他们,必能获胜。”此时,晋国都城内有传言说,秦国将要趁晋国为文公办理丧事的机会去攻打郑国,郑国的国君郑文公也在这年四月去世了,继位的公子兰(郑穆公)与晋国交好。晋襄公当然希望继承父君遗愿,与刚继位的郑穆公治下的郑国盟好,他知道自己刚刚继位,资历尚浅,所以命卜偃演出了这么一幕。
两年前秦穆公委派大夫杞子、逢孙、杨孙协助防守郑国,这一年的四月,郑文公去世后,公子兰即位,史称郑穆公。此时杞子等人掌管着郑国都城北门的防守,杞子派人向秦穆公报告说:“郑人让臣等掌管都城的北门,如果国君您派兵前来偷袭,郑国可得。”秦穆公征求大夫蹇叔的看法,蹇叔说:“劳师偷袭远方,从未听说过。军队疲劳,力量衰竭。郑国会有所防备,臣以为不可。秦国军队千里奔袭,谁又会不知道呢?”秦穆公觉得机会难得,不想听从蹇叔之言,于是诏命大夫孟明视(百里奚之子)、西乞术、白乙丙,在都城东门之外会师出征。蹇叔哭着为他们送行,说:“孟大夫啊,我看到你带着军队出征,却看不到你带兵凯旋啊!”秦穆公听到蹇叔说了这么丧气的话,命人对他说:“蹇叔年事已高,等孟大夫像蹇叔这么大年纪的时候,你坟头上的树都长得两手合围那么粗了。”蹇叔的儿子也加入了出征的队伍,蹇叔哭着对自己的儿子说:“晋国人必将在崤山抵御,崤山有两座山陵,南陵是夏后皋的坟墓;北陵,是周文王避风雨之处。儿啊,你将死于两座山陵之间,为父会去为你收尸。”不管蹇叔怎么反对,秦国军队还是向东出发了。
僖公三十三年(公元前627年)春,袭郑的秦国军队经过成周北门,战车上除了御者以外,车左、车右都脱去头盔下车致敬,有三百辆兵车的车左、车右下车致敬完毕后又跳上车。周大夫王孙满年纪尚小,看到此情景后,对周襄王说:“秦国军队轻佻而无礼,一定会失败的。轻佻则缺少计谋,无礼就满不在乎。秦军进入险地后,没有计谋又满不在乎,能不打败仗吗?”
秦国军队到达滑国后,郑国的商人弦高正要去成周做生意,路上碰到了秦军。弦高先送给秦军四张熟牛皮,再送上十二头牛,犒劳秦军。他对秦军统领孟明视说:“寡君听说您准备行军经过敝邑,谨来犒赏您的随从。敝邑贫乏,为了您的部下在这里停留,准备了一天的粮草供应;如果您的军队明天开拔,则敝邑提供一夜的警戒。”与此同时,弦高派人连夜紧急赶回都城报告。
郑穆公得报后,派人去窥探杞子等人居住的馆舍,发现他们已经整装待发,厉兵秣马了。于是郑穆公派大夫皇武子前去探望他们,对他们说:“大夫们久住在这里,敝邑的干肉、粮食、牲口都已枯竭殆尽了。现在大夫们将要离开,郑国在原囿有猎场,就象秦国在具囿有猎场一样,大夫们自己前去猎取麋鹿带走如何?”杞子等三位秦国大夫听到皇武子这样说,知道郑国可能已经得到了秦军来袭的消息,他们三人带领的秦军处境不妙,三人连夜带领属下从郑国出逃,杞子带人逃奔了齐国,逢孙、杨孙带人逃奔了宋国。同时派人前往滑国,通知了秦军主将孟明视。孟明视得知杞子等三位大夫已不能在郑国都城北门内应,对诸将说:“郑国已有准备,突袭不成了。攻打新郑不能取胜,包围新郑又没有后援,吾等应速返回。”于是下令灭亡滑国后,秦军撤退回国。
秦军灭滑之后返回秦国,途中必经崤山。晋国中军统帅先轸对晋襄公说:“秦国违逆蹇叔的谏言,由于贪婪而劳动百姓,这是上天赐予我们晋国的机会。机会不可失去,敌人不能放走。放走敌人,留有后患;违背天意,则不吉利。一定要痛击秦国的军队!”
下军统帅栾枝说:“没有报答秦国的恩惠而攻打它的军队,我们心中还有刚去世的先君吗?”
先轸说:“秦国不为先君的丧事悲伤,反而攻打与我们晋国友好的同姓国家,他们这就是无礼,哪里还讲什么恩惠?我听说‘一日放走敌人,就是几辈子的祸患。’为子孙后代考虑,这可以告慰薨逝的国君了吧!”
于是奏请晋襄公下诏,又紧急动员了位于晋国南部的姜戎的军队一起参战。晋襄公还在为父君文公服丧,他把白色的丧服染成了黑色,命梁弘驾御战车,莱驹为戎右,率领晋军出战。晋襄公命中军统帅先轸率部秘密急进到秦军必经之处崤山天险,与姜戎的军队埋伏于隘口的两侧,秦军全部进入了晋军、姜戎的伏击圈后,晋襄公身着黑色丧服,击鼓督战,晋军将士和姜戎兵马奋勇杀敌,秦军全军覆没,孟明视、西乞术、白乙丙三名主帅被俘。
晋军全胜而归。这一战,其实是在晋文公重耳尸骨未寒、尚未安葬的时候进行的一场从盟友变为仇敌的战役。晋国从此封住了秦国东进的通道,逼迫秦国不得不向南与楚联盟、向西扩张土地。晋国在此战之后,在面向中原的同时,也不得不随时警惕着来自西面秦国、南面楚国的威胁。
崤之战四月十三日结束,晋军回国后,四月二十五日为晋文公举行了葬礼。
晋文公葬礼之后,秦穆公的女儿、晋文公嫡夫人、晋襄公嫡母文嬴夫人向儿子晋襄公请求释放秦国三位统帅孟明视、西乞术和白乙丙,她对晋襄公说:“这三个人挑拨我们秦、晋两国的国君,秦伯如果抓住他们,恨不得吃了他们的肉,何必劳动我儿以国君之身前去讨伐呢?让这三个人回到秦国去接受诛杀,以安秦伯之心,我儿觉得如何?”
晋襄公知道这是嫡母文嬴夫人在为秦国保护被俘的三名秦军主帅,自己也不便违拗,于是遵母命释放了三位秦军统帅。
第二天早朝,先轸拜见完晋襄公,问起如何处置秦国三位被俘的统帅,襄公说:“母亲为他们求情,寡人昨日已释放他们启程回国了。”
先轸气得直哆嗦,在殿上大喊:“晋军勇士在战场上用鲜血和勇气擒获了他们,女人的几句谎话就把他们在国都释放了,如此毁伤战果而长敌人志气,晋国早晚要灭亡!”他头也不回,往大殿的地上吐唾沫。晋襄公一看中军统帅如此生气,觉得他说得在理,就派将军阳处父去把三位秦将追回来,阳处父一直追到黄河边上,看到三位秦军将领已经坐在船上了,阳处父解开自己乘坐的马车左边的骖马,以国君的名义赠给孟明视。孟明视叩拜说:“蒙君王的恩惠,不用被囚之臣来祭鼓,让我回去在秦国受诛戮,寡君如果杀了我们,死而不朽。如果依从君王的恩惠而赦免我们,三年之后必将拜谢君王的恩赐!”
听说三位将领得以返回秦国,秦穆公身着素服,出居雍城郊外,等候三位将领的到来。孟明视等三人带领随行将士回到雍城外时,秦穆公对着被释放回来的将士们嚎哭着说:“孤违背了蹇叔的谏言,让诸位受到了侮辱,这是孤的罪过。大夫们有什么罪?”三位将领看到国君身着预示着哀悼兵败的凶服,如此自责,纷纷叩拜,誓言要为秦国雪耻报仇。秦穆公不但没有加罪三位将军,反而继续赋予他们军队要职,并且在大殿聚集群臣,专门自我反省,强调要任用贤能、亲信忠良,他的庭训被记录流传了下来,现载于《尚书·秦誓》。
两年之后,公元前625年二月份,秦将孟明视率领秦军讨伐晋国,就是为了报崤山兵败之仇。晋襄公亲自率军迎战,晋卿先且居统帅中军,赵衰为副帅。二月初七,晋军与秦军在秦国西部的彭衙相遇,两军列阵后,被中军统帅先轸罢免的车右将军狼瞫率领本部兵马二百勇士冲入秦阵,视死如归,战死沙场,彻底打乱了秦军的阵型。晋军全军押上冲锋,打败秦军。这次战役,再次以晋国的胜利告终。
同年冬天,为了彻底遏制秦国势力向东挺进,晋襄公命晋卿先且居率领晋军,联合宋、陈、郑国的兵马,攻打秦国,击败秦军,占领了彭衙城和汪邑。
秦穆公在三年之内连遭三败,咽不下这口气,在公元前624年,这时已经是鲁文公三年夏天了,秦穆公整顿秦国兵马,仍以孟明视为统帅,大举进犯晋国,在秦军渡过黄河后,焚烧舟船,以示有进无退的决心。秦军势如破竹,很快攻占了晋国的王官城和附近的郊城。秦军然后从茅津渡口向东渡河,直捣崤山。大军所到之处,无人能敌,秦军在崤山祭奠了三年前崤山之战死去的将士,并为他们建造了坟茔,全军拜祭后返回了秦国。此后,秦军又向西讨伐戎狄,灭掉了十二个小国,成为了西戎霸主。