鲁成公十六年(公元前575年)正月初三,许灵公实在受不了郑国的反复袭扰,向楚共王乞请,帮助许国迁都。楚共王看在许灵公曾在十四年前的阳桥之役中为自己作车右的面子,命王子申率人协助许灵公将许都迁到了叶城。叶城比原都城更靠近楚国,距离郑国就更远了。楚共王还是觉得,郑国投靠晋国这件事太麻烦了,于是亲临楚国北部的武城,并派王子成前往郑都拜见郑成公和公子騑,表示楚国愿意以汝水以南的土地与郑国和好。郑成公在公子騑的劝说下,也被汝阴的千亩沃野良田所吸引,便答应了楚国媾和的要求,派出郑国执政卿、自己的亲叔父公子騑前往楚国武城,与楚共王结盟。
去年十月宋国桓族的五卿投奔了楚国,反复在楚王面前请求讨伐宋国,宋国是晋国盟友,楚共王很愿意以此为借口兴兵攻打宋国。郑国投靠楚国后,也想为楚共王递交投名状,正月郑、楚武城之盟后,郑成公随即在次月就派公子喜率领郑军攻打宋国,却被宋国将军将锄、乐惧在宋国的汋陂击败。郑军败退后,宋军也撤回夫渠。将锄、乐惧对郑军不屑一顾,觉得他们不堪一击,绝对不敢再回来偷袭了,因此宋军疏于戒备,被公子喜在汋陵伏击,宋军败北,将锄、乐惧二将被擒。
卫国也属于晋、宋盟国,看到郑国侵袭宋国,卫献公亲自率领卫国军队攻打郑国以迫使郑国从宋国撤兵,卫军一直打到了郑国的鸣雁城。
晋厉公得知郑国又归附了楚国,还出兵攻打自己的盟友宋国,一方面告知宋国相邻盟友前往救援,另一方面下令晋军准备出征郑国。晋卿范文子(士燮)对晋国的朝局很是忧虑,当时晋厉公无道,三郤骄横跋扈,国内人心不齐,这种情况下大军出征,恐发生内乱。他倒是希望诸侯都不响应晋国伐宋的号召,使晋厉公能警醒反思,内修德政,重振晋国。他对正卿栾书说:“要是按照我的愿望,诸侯都背叛晋国,晋国倒会励精图治,危机反而得以缓解。现在只有郑国一个国家背叛,那晋国的危机就在眼前了。”栾书说:“我们这辈人兵精将强,不能允许诸侯背叛,一定要讨伐郑国!”晋厉公派出晋卿郤犨访问卫、齐两国,要求共同出兵;六月份又派出晋大夫栾桓子到访鲁国,要求鲁国也出兵相助,孟献子接待了他,也请栾桓子转告晋侯,鲁国定会出兵,此战必胜!
四月十二日,晋国等不及各诸侯盟国出兵会合,整合晋军将士出征郑国。正卿栾书任中军统帅,士燮为副;郤锜任上军统帅,荀偃为副;韩厥任下军统帅;郤至任新军副帅;下军副帅荀罃率本部兵马留守国内。晋厉公亲自统率四个军的兵力出征,坐镇指挥。郑国得知晋军向郑国打过来,马上派大夫姚句耳陪同郑国特使前往楚国告急。
楚共王当然要救援郑国,诏命司马子反率领中军,令尹子重率领左军,右尹子辛率领右军,楚国大军浩浩荡荡,向郑国进发。大军经过楚北门户申县的时候,司马子反前去拜访食邑于申的楚国公族申叔时,问道:“申公觉得楚国此战将会如何?”申叔时想起一年前司马子反在出兵伐郑时说的话“敌情有利就进攻,管他什么盟约不盟约的”,料到子反此行必败,就为他讲了一通大道理,从德、刑、祥、义、礼、信等方面论述了“只有一心安置好百姓,民众才愿意为国牺牲,战争方可获胜。现在楚国不是这样的,内部背弃百姓,外部背叛盟友,亵渎盟誓、丢失信用、炫耀武力,民众都会担忧他们的命运,谁还会为国拼命?司马此去要保重,我可能再也见不到你了!”
前往楚国搬救兵的郑国特使跟随楚军同行,郑大夫姚句耳先行回到郑国报信,执政公子騑向他询问楚军出兵的情况,他说:“楚军急速行进,经过险要之地行列不整。行军急速,就会考虑不周;行列不整,军心易乱。思虑不周、行列不整,如何能战?臣以为楚国恐怕不能依靠了。”
五月,晋军渡过黄河,听说楚军即将到来,士燮主张回撤,他对中军统帅栾书说:“我们假装逃避楚军,这样可以缓和目前的紧张形势。现在诸侯联军还没有会合,还是把机会留给有能力会合诸侯的人吧。我们如果能够群臣和睦事奉国君就足够了。”栾书心想,“都这个时候了,国君亲自坐镇,晋国四个军已渡过黄河,你却说要撤回去?别开玩笑了!”他斩钉截铁地回绝士燮:“不行。”
六月,晋、楚两军对峙于郑国的鄢陵城外。士燮不主张出战,郤至说:“韩之战,先君惠公不能胜利归来;箕之役,先轸不能回国复命;邲之战,中行桓子不能再跟楚军周旋,这都是晋国的耻辱。您也亲眼目睹了先君时代的战事了,现今如果我军逃避楚军,就更加增添耻辱了!”士燮说:“先君屡次作战是有原因的,秦国、狄人、齐国、楚国都很强大,不尽力则子孙会被削弱。现在秦、狄、齐三强已经顺服,我们的敌人只有楚国而已。只有圣人才能够国内国外都没有忧患。如果不是圣人,外部安定,则内部必有忧患,何不放过楚国把它作为一种外患呢?”
六月二十九日(阴历月末晦日)清晨,楚军开始行动。晦日用兵是春秋时期的兵家大忌,但楚军想在增援晋国的齐、鲁、宋、卫联军到来之前速战速决,因此趁天刚蒙蒙亮,逼近晋军营寨列开阵势,晋军将士有些骚动,认为楚军要发动进攻了。士燮的儿子范丐(范宣子)年轻,快步上前,向众将进言道:“我军可填塞水井,毁坏灶台,在军营中摆开阵势,拉开行列间的距离,与楚军一战。晋国、楚国皆是天所授命,谁怕谁呀!”他父亲士燮(范文子)是不主战的,听儿子这么说,拿起戈来追打儿子范丐,边追边喊:“国家存亡是天意,小孩子知道什么!”
中军统帅栾书毕竟多次征战,经验丰富,他说:“楚军行动不稳,我军应加固营垒与之对抗,他们三日必退。我军可坚守以待诸侯援军的到来,在楚军回撤时再出击,必将获胜。”新军副帅郤至分析道:“楚军弱点有六,机不可失。他们令尹子重和司马子反互相排斥;楚王的直属部队是从旧家中选拔出来的,旧家的士卒不一定精良;跟随楚军的郑国军队阵势不齐整;蛮人虽然跟随楚军前来,却摆不开阵势;布阵不避开月末的晦日;士兵在军阵中喧闹,战斗意志散漫。晦日出兵触犯上天的忌讳,我军必胜!”
楚共王登上高高的瞭望巢车,向晋军营垒中观望。令尹子重命从晋国投奔楚国的伯宗之子、太宰伯州犁跟在楚王身后讲解晋军营垒中的举动。楚王问:“晋军兵车向左右两方驰骋,这是为什么?”
伯州犁回答:“是在召集军吏。”
楚王说:“他们都聚集在中军了。”
伯州犁说:“他们是在谋划对策。”
楚王说:“他们的帐幕打开了。”
伯州犁说:“他们是在晋国先君牌位前占卜。”
楚王说:“现在帐幕撤掉了。”
伯州犁说:“他们要发布命令了。”
楚王说:“喧闹得厉害,而且尘土都飞起来了。(甚嚣尘上)”
伯州犁说:“他们要填塞水井、毁坏灶台、在营中列阵。”
楚王说:“他们都上了战车,车左、车右手持兵器又下车了。”
伯州犁说:“这是要听取军令。”
楚王问:“他们这是要出战吗?”
伯州犁说:“还说不好,看不出来。”
楚王说:“将帅都上了战车,车左和车右又下来了。”
伯州犁说:“他们这是要做战前的祈祷。”
伯州犁在楚王身边,把晋侯亲兵的动向告诉了楚共王;于此同时,楚国剿灭若敖氏斗椒时,斗椒的儿子苗贲皇逃奔了晋国,苗贲皇在晋厉公身边也将楚共王直属亲兵的动向报告给了晋厉公,他们都说对方国君身边的直属禁卫都是精锐之师,而且军阵厚实,难以抵挡。
苗贲皇对晋厉公说:“楚国的精兵,在于他们中军的王族而已。请国君派出两支精锐部队攻击他们的左、右军,其余三军全力进攻楚国中军的楚王直属亲卫部队,必可打败楚军。”晋厉公命太史占筮,太史占筮后禀告说:“大吉!得到‘复’卦,卦辞说‘南边的国家局促,射他的国王,箭头中目。’国家局促、国王受伤,怎能不败?”晋厉公听后放心了,下令晋军出战。
晋军前进的路上遇到了大片的泥沼,晋军各部都或左或右绕开泥沼前行。新军副帅郤至的弟弟、晋大夫步毅为晋厉公驾御战车,中军统帅栾书的儿子栾鍼为晋侯车右。楚共王的战车由楚大夫彭名驾御,潘党为楚王车右。郑成公的战车由郑大夫石首驾御,唐苟为车右。栾书、士燮率领本部兵马左右护卫着晋厉公的车驾前行,晋厉公的战车陷入了泥沼之中。栾书想把晋厉公接应到自己的战车上,但晋侯车右栾鍼阻止了他,虽然他是栾书的儿子,但依礼制,群臣在国君面前应直呼其名,栾鍼大喊:“栾书退下!国家命你承担中军统帅的重任,你怎能放下自己的本职而来推车?这是车右的职责!”他跳下战车,用力抬起晋厉公的车驾,把战车推出了泥沼。
此前一日,楚大夫潘尪的儿子潘党和楚国神射手养由基用皮甲重叠起来练习射箭,两人都射穿了七层皮甲,他们拿着皮甲来到楚王面前显摆说:“国君您有这样两个神射手臣下在此,明日大战还有什么可担心的?”楚共王听罢大怒说:“你俩别丢人现眼了!明日作战,你们就死在射箭上!”晋大夫吕锜梦见自己射月亮,还射中了,自己却退进了泥沼。他梦醒之后赶紧找太史占卜,太史占卜后对他说:“姬姓是太阳,异姓是月亮,你射中的必定是楚王了。射中之后退入泥沼里,就一定会战死。”
第二天战场之上,吕锜用箭射中了楚共王的眼睛,楚共王召唤养由基,给他两支箭,让他射吕锜,神射手养由基用楚王之箭射中了吕锜的脖子,吕锜中箭伏在自己的弓套之上而死。
晋新军副帅郤至在战场上三次遇到楚王和他的亲兵,他见到楚王一定下车,脱下头盔,向前快步而走。楚共王派工尹襄给他送去一张弓,共王说:“正当战事激烈的时候,这位身穿浅红色熟牛皮军服的人,真是君子!刚才见到不谷而快走,是不是受伤了?”郤至见到楚王派来的工尹襄,脱下头盔致礼说:“楚王外臣郤至,跟随寡君作战,托君王之福参与了披甲的行列,不敢下拜以谢君命。”春秋时期,甲胄在身,则不下拜。郤至接着说道:“外臣向贵君禀告,没有受伤,贵君的慰问实不敢当。戎事在身,不得下拜,敢向使者行肃拜之礼。”肃拜,就是站立着,身体前倾,双手合拢以致意。郤至肃拜了三次,工尹襄就回去了。晋国教化的威力不得不让人敬慕,都在战场之上你死我活了,还这么讲究礼仪,简直有些迂腐了。
下军统帅韩厥在战场上追击郑成公的车驾,给韩厥驾御战车的杜溷罗喊道:“将军!咱们快速追上去!他们驾车的人老是回头看,注意力不在向前奔跑的马匹,咱们可以追上他们!”韩厥想起在鞍之战时,自己追击齐顷公的事,让齐侯受到了羞辱,他对驾车的杜溷罗说:“别追了,我不想再羞辱一次君侯。”他们停了下来,新军副帅郤至继续追击郑成公的车驾,他的车右茀翰胡说:“派一队轻兵从小道追击,我们从后面追赶,我可以跳上郑伯的战车活捉他!”郤至也喊道:“算了,伤害君侯会受到刑罚的。”于是也停止了追赶。为郑成公驾车的石首看到不断有敌军追击国君的车驾,大喊道:“卫懿公当年由于不摘掉车驾上的旌旗,因此才在荧地大败。”一边喊一边把车上的旗子卷起来藏在了弓袋里。郑伯车右唐苟对石首说:“你在国君身旁,应一心保护国君。我不如你,你带国君快跑,我来留下断后。”唐苟跳下车驾,为保护郑成公力战而死。
战场上的形势对楚军越来越不利,楚将叔山冉对神射手养由基说:“虽然国君有命令,但为了楚国,你要不停地射箭!”养由基张弓搭箭,射向追击的晋军,百发百中。叔山冉抓住追赶的晋军士卒,往晋军人群中投掷过去,砸中了追击的晋军战车,战车前的横梁都被砸断了。晋军于是停止了追击,擒获了楚国的公子茷。
晋厉公车右、栾书之子栾鍼看到楚令尹子重的旗帜,向晋厉公请求道:“那面旌旗之下,好像是楚令尹子重。过去臣出使楚国时,子重问臣晋国的勇武表现在哪里?臣回答他:‘喜好众军士队列整齐,按部就班。’子重问:‘还有呢?’臣回答:‘喜好从容不迫。’现在两国交战,不派遣使节,不可谓按部就班;遇事食言,不可谓从容不迫。臣请派人代替臣过去向子重敬酒。”晋侯准许。栾鍼派使者执爵盛酒,来到子重面前说:“寡君战时缺乏使者,让栾鍼持矛侍立左右,因此他不能亲自前来犒赏您的左右,派小臣前来送上此酒以示敬意。”子重颇受感动地接过酒爵,对使者说:“栾鍼将军曾在楚国向我说过“好整以暇”,一定是为此送酒过来。栾将军的记性真好啊!”说罢一饮而尽,让使者回归晋营,自己继续在战车上击鼓。
两军的战斗从清晨开始,一直打到晚上,星星都出来了,还没有结束,真是杀得昏天黑地。战事稍歇,楚军统帅司马子反下令楚军视察士卒伤情、补充步兵骑兵、修理盔甲兵器、摆列战车马匹,抓紧时间休息,鸡鸣造饭,听从主帅的命令。晋军担心接下来的战况会如何,苗贲皇通告晋军全体将士说:“检阅战车,补充士卒,喂好马匹,磨快兵器,整顿军阵,巩固行列,饱餐一顿,再次祷告,明日再战!”然后故意放松戒备,让楚国俘虏逃回了楚军营地。楚共王一边让医官给自己医治眼伤,一边听着从晋营逃归的楚军士卒报告晋军的情况,然后召司马子反一起商议明日如何迎战晋军。然而,军将谷阳竖献酒给司马子反,子反喝醉了,不能前来觐见楚王。楚共王手捂自己受伤的眼睛,仰天而叹:“这是上天要败楚国啊!寡人可不能在这里干等着失败。”楚王趁着夜色,带领楚军偷偷脱离了鄢陵战场,向楚国回撤。
第二天,晋军进入楚军营地,发现人去营空,于是晋军在楚军营地内休整三日,吃了楚军留在军营里的粮食。范文子站在晋厉公戎车的马前说:“国君年幼,各位大臣又都没什么才干,晋国何德何能,此战获胜?《尚书》说:‘天意并不特别眷顾哪个人,只赐福于有德之人。’(惟命不于常,有德之谓。)上天莫非是先赐福于晋国而勉励楚国呢?国君、诸位公卿大夫应当警戒啊!德乃福之基础,没有德业而福泽隆盛,就像地基没有打好,却在上面筑起了高墙,坍塌的日子就不远了。”晋军之中,只有一人清醒,那就是范文子(士燮),他不主战的原因就在于,晋厉公无道,晋国内政荒疏,强臣当道,但却不断在外战中获胜,这样会滋生内乱的发酵,对晋国是不利的。
发生在公元前575年的鄢陵之战,晋厉公和正卿栾书率领晋国三军击败了楚共王、令尹子重、司马子反率领的楚国三军,是晋、楚之间最后一次全国主力军队之间的会战,也为二十二年前(公元前597年)晋国在邲之战被楚国击败报了一箭之仇。