孟明視、白乙丙、西乞術的軍隊還沒有到鄭國,就遇見鄭國商人弦高。當弦高知道秦軍要偷襲鄭國後,立即把自己要販賣的二十頭肥牛送到秦軍,冒稱自己是奉命來犒勞大軍的鄭國使臣,說鄭國早做好了迎接貴軍的準備。孟明視他們知道偷襲計劃已經失敗,於是就劫掠了滑國(今河南偃師附近),然後掉轉馬頭回國。
公元前627年初夏,孟明視等三帥的軍隊進入了先軫為他們布置的陷阱。秦軍在崤山全軍覆沒,三帥也做了俘虜。被俘前白乙丙看了父親給他的密信。上寫的是:此去最危險的不是鄭國,而是晉國!崤山將是你們埋骨的地方!
晉襄公打算將孟明視他們三帥在太廟獻俘後殺掉,這時他母親嬴氏(秦穆公的女兒)對他說:我們和秦國是姻親,殺了三帥就徹底得罪了秦國。何況以秦國的法律,敗軍之將回去還是要被殺頭,你為什麼不放了他們,讓秦國殺了他們呢。於是晉襄公釋放了三帥。
先軫一得到消息馬上來見晉襄公。氣憤的他一時忘卻了君臣禮儀,怒氣衝衝地質問道:“秦國的戰俘呢?”
“太後說情,寡人已經放了他們。”
“呸!”先軫竟然向晉襄公臉上吐了一口說道:“你簡直不懂事呀!將士們鮮血換來的戰俘,你竟然聽信婦人之言放了,要知道他們三人今後可是晉國的勁敵呀!你真是放虎歸山!”他的確氣急敗壞了。
晉襄公急忙派人追捕,但是當趕到黃河岸邊時,卻看到孟明視他們已經上了船,原來是公孫枝派人扮作漁夫,日夜在此接應。孟明視對追來的晉國將軍說:“請轉告你們主公,三年後我們一定親自來拜謝他!”
三帥回去後,秦穆公不僅沒有殺他們,還依然重用他們,興師複仇,就成了他們全身心訓練軍隊的動力。
當年,狄國國王白部胡和弟弟白蹾分兩路來犯,大軍已經南下到了萁城(今山西太原附近)。晉文公請先軫掛帥出征,先軫拜辭道:“當時我因為陛下放了孟明視他們,一時激憤唾在了陛下的臉上,這是極其無禮的罪過。軍隊是最講究上下尊卑的,一個無禮的人,絕對不可以擔當統帥,請陛下另選良將。”
“愛卿你是因為國家大事發的怒,是一片忠心所激發的感情,並不是對寡人不敬重。請你別放在心上,務必掛帥出征!”晉襄公堅決地說。
先軫令兒子先且居為先鋒,率軍出征了,並一舉戰敗了狄軍,而且殺了狄王白部胡。
白部胡被殺的消息白蹾還不知道,先軫調兵遣將,製定了圍剿白蹾的方案後,自己全副披掛,駕著一部戰車孤身衝進了白蹾的軍營。白蹾見晉軍單身一人來踹營,拍馬提刀前來應戰。不料先軫橫戈於肩,圓睜雙眼大喝一聲,雙眼竟然掙裂,鮮血都流了出來。白蹾驚得倒退了數十步,見先軫並沒有後援,就命令手下放箭,先軫奮起神威,左衝右突,連殺狄軍頭目三人、士兵二十多人,自己竟然毫發無損,狄軍嚇得無人敢於靠近。
此時先軫見自己身裹重甲,敵人的箭根本就傷不了自己,於是大聲說道:“我不殺人,你們就不知道我的神勇。現在既然知道我的威風了,多殺又有什麼意義呢?”於是脫掉的自己的盔甲,瞬時敵箭就把他射得像刺蝟一樣了,但他還依然屹立在戰車上。當白蹾得知他就是晉軍元帥時,親自向他的屍體下拜說:“我一定送你回晉國。”先軫的屍體這才倒下。
眾將在中軍帳發現了先軫給晉襄公的遺表,上麵這樣寫著:“臣先軫對主公犯下了大不敬的罪過,陛下沒有處罰我,是陛下的仁德。現在陛下又讓我來打這場必勝的戰爭,凱旋後陛下該怎麼辦?按規矩陛下必須賞賜功臣,如果臣接受賞賜,那豈不是鼓勵沒有君臣禮儀的臣子?如果讓陛下您賞罰不明,那還怎麼治理國家呢?所以臣決定衝入敵陣,借狄人的手來懲處我的罪過!”大家才知道元帥已經借敵人之手自殺了。
晉襄公親自殮葬了先軫,並在他的靈堂前拜先且居為中軍元帥。