晋文公又派人前往襄牛见卫成公,也同意恢复卫国的封地,成公非常高兴。但宁俞进行了反对,说:“这是晋国的反间计谋,不能相信。”但是成公没有听从,也给成得臣写了一封信,内容大致和曹共公的信一样。那时候得臣刚刚收到宛春被抓的消息,他暴跳如雷,大骂:“晋国的重耳,你是个打不死、饿不坏的老贼!当初你在我国时,就像是我刀砧上的一块肉,现在你才回到你的国家当了国君,就开始这样欺负人!自古以来,两国相争都不会怪罪使者。你怎么能抓我的使者呢?我一定要亲自去和他讲理。”正在生气的时候,帐篷外的小兵来报告:“曹国和卫国各有书信上达给元帅。”得臣心想:“卫侯和曹伯在流离失所的时候,怎么会有书信来通报我呢?肯定是打探到了晋国的什么破绽,偷偷来告诉我,这是天助我成功啊!”得臣打开信看到内容,发现这两封信都是跟随晋国断绝和楚国的关系这个话题开始的。他气得心头一片火,直透到了三千丈高的天上。他大声喊道:“这两封信,一定是老贼逼他们写的!老贼,老贼!今天不是你就是我,一定要拼个你死我活!”他命令军队撤离宋国,去寻找晋重耳,与他决斗。“等我打败了晋国军队,就不用担心残余的宋国军队还会跑到哪里去了!”斗越椒说:“我们的国王曾经嘱咐过,不要轻易出战。如果元帅要出战,必须要先得到国王的允许才可以行动。而且齐国和秦国曾经为宋国求情,如果元帅不听从他们的请求,他们肯定会派兵前来帮助晋国。虽然我们有陈国、蔡国、郑国和许国的支持,但恐怕还不足以对抗齐国和秦国。我们必须去朝见国王,请求增援,加强我们的军队,才能前往战斗。”成得臣说:“请大夫您辛苦一趟,尽快去办这件事。”于是斗越椒遵从元帅的命令,径直前往申邑,拜见了楚王,并奏知了请求增援交战的意图。楚王生气地说:“我已经叮咛过不要与他们交战,你们为什么还要出兵呢?你们能保证必胜吗?”斗越椒回答说:“得臣已经说过了,如果我们不能胜利,那么我们甘愿接受军令的惩罚。”楚王最终还是不高兴,于是派斗宜申带领西广的军队前往。楚军的两个广,东广在左边,西广在右边,所有的精锐士兵都在东广。而这次只分出了西广的军队,人数不过千人,而且还不是精锐士兵,这是因为楚王担心军队会战败,所以不肯派出更多的人。成得臣的儿子成大心,聚集了家族的士兵,总共约有六百人,主动请求参战。楚王同意了他的请求。斗宜申和越椒带领军队到达宋国,成得臣看到军队人数少,心里更加愤怒,大声说:“即使不再增加兵力,难道我就打不赢晋国吗?”当天,他就召集了四路诸侯的军队,拔营起寨,准备出发。然而,这次行动正好中了先轸的计谋。髯翁有一首诗说:“久困睢阳功未收,勃然一怒战群侯。得臣纵有冲天志,怎脱今朝先轸谋!”
成得臣亲自率领西广的戎车,以及成氏本宗的兵力,担任中军的指挥。他派遣斗宜申率领申邑的军队,与郑国和许国的军队一起,作为左军指挥。他还任命斗勃率领息邑的军队,与陈国和蔡国的军队一起,作为右军指挥。在狂风暴雨中,他们直奔晋国侯的大营,分别在三个地方设立营寨。
晋文公召集诸将商量对策。先轸说:“我的计谋是要诱使楚国出兵,然后打败他们。而且楚国自从参加对齐国的围攻宋国时,一直到现在,这些部队已经变得老弱无力。所以如果要与楚国军队作战,一定要认真面对,不能轻敌!”狐偃说:“主公,您曾经在楚君面前说过:‘如果有一天我领兵在中原作战,请您退避三舍。’现在我们如果要与楚国作战,那就是违背了诚信。主公,您从不会对中原诸侯失信,难道要失信于楚君吗?我们还是避开楚国吧。”诸将听了狐偃的话,都面露愤怒的神色说:“让君主躲避臣子,这是极度的侮辱!这样做是不可行的!”狐偃说:“虽然晋国的元帅子玉很强硬,但是我们也不能忘记楚国君主对我们的恩惠。我要躲避楚国,不是因为要躲避子玉。”诸将又问:“如果楚国军队追击我们怎么办呢?”狐偃回答:“如果我们撤退,楚国也会撤退,那么他们就无法再围攻宋国了。如果我们撤退,而楚国却继续前进,那么就是让臣子逼迫君主,错在他们那一方。如果我们被迫退却,人们会感到愤怒,而楚国则会变得更加嚣张。在这样的情况下,难道还有不胜利的道理?”文公说:“子犯的话是对的。”于是下令:“全军撤退!”晋军撤退了三十里,军官来报告说:“已经撤退到一舍的距离了。”文公说:“还不够。”又撤退了三十里,文公仍然不允许驻军。一直撤退到九十里远的地方,名叫城濮,正好是三舍的距离,才让军队安营扎寨,让马儿休息。那时,齐孝公命令上卿国懿仲的儿子国归父担任大将,崔夭担任副将;秦穆公让他的次子小子慭担任大将,白乙丙担任副将。他们各自率领大军,与晋军一起在城濮和楚军作战,双方都在城濮安营扎寨。宋国的包围已经解除,宋成公也派司马公孙固到晋军中表示感谢,并留在军队里协助战斗。
话说楚军看到晋军撤退,都感到非常高兴。斗勃说:“晋侯因为尊敬我们而避开我们,这对我们也是一种荣誉。我们不如借此机会回师,虽然没有立功,但也可以避免受到责罚。”但成得臣生气地说:“我已经请求增派兵力,如果不打一仗,我如何回去交差?晋军已经撤退,他们的士气已经受挫,我们应该迅速追击!”他下令:“快速前进!”楚军行进了九十里,正好与晋军相遇。得臣观察地势,选择依靠山脉和沼泽地,占据有利地形扎营。晋军的各位将领对先轸说:“楚军如果占据险要地势,我们攻打他们会很困难,我们应该出兵争夺那些地势。”先轸说:“楚军占据险要地势是为了坚守,但子玉(成得臣)带领军队远道而来,他们的目的是求战而不是守卫。即使他们占据了险要地势,又能对我们造成什么威胁呢?”当时晋文公也对是否要与楚军作战感到疑虑。狐偃报告说:“今天我们和楚国对垒,形势上必须要进行战斗。如果我们能够战胜敌人,我们就可以成为伯候,位居诸侯之首;即使不能成功,我们的国土在外河内山之间,足以自保。楚国又能对我们做些什么?”晋文公仍然犹豫不决。那天晚上睡觉时,他突然梦见自己回到了多年前逃亡的时候,身处楚国,和楚王相互扭打玩耍,但力量不济,仰面倒在地上。楚王压在他身上,打破了他的头,用嘴舔他的脑浆。晋文公醒来后,吓得浑身发抖。就在这时,狐偃和他在同一个帐篷里住宿,晋文公就把这个梦告诉了狐偃,说:“我梦见和楚王打架,结果打输了,他还喝我的脑浆,这恐怕不是一个好兆头吧?”狐偃却祝贺他说:“这是一个大吉大利的兆头!您一定会胜利的!”晋文公说:“这个吉利体现在哪里呢?”狐偃回答说:“您仰面倒在地上,是得到天的庇佑;楚王趴在您身上,那就是向您认罪。脑浆是用来软化物体的,您把脑浆给了楚王,让他服软了,这不就是胜利吗?”晋文公听了之后,心情才得以舒缓。天刚亮,军官报告说:“楚国派人来下战书了。”晋文公打开战书观看,上面写道:“请求和您的士兵们进行一场游戏,您坐在车轼上观看,让我也顺便献上我的目光。”狐偃说:“作战是危险的事情,他们却用‘游戏’一词来形容,这是不尊重战争的表现,难道不容易失败吗?”晋文公让栾枝回复战书,说:“我没有忘记楚国君主对我们的恩惠,所以我们退了三舍,不敢与大夫对垒。如果大夫一定要观看我们的军队,我怎敢不遵从命令!约定在明天早上相见。”
楚国的使者离开后,晋文公让先轸再次检查兵车,共有七百辆,精兵五万多人,齐国和秦国的军队并未包括在内。文公登上有莘墟,眺望他的军队,看到他们年长年少的士兵都有序地列队,前进和后退都有节制,赞叹道:“这是郤縠留下的教诲。用这样的军队应对敌人应该够了。”于是派人去砍伐山上的树木,用来制造战争器械。先轸分配兵力,让狐毛和狐偃带领上军,和秦国的副将白乙丙一起攻击楚军的左师,与斗宜申交战。让栾枝和胥臣带领下军,和齐国的副将崔夭一起攻击楚军的右师,与斗勃交战。每个人都被赋予了策略和任务。他自己和郤溱、祁瞒一起在中军结阵,与成得臣对峙。同时让荀林父和士会各自带领五千人作为左右翼,准备进行支援。然后让国归父和小子慭各自带领本国的军队,从隐蔽的小道绕到楚军的背后埋伏,等待楚军败北后,就杀入敌营占领他们的大本营。当时魏犨的胸病已经痊愈,他主动请缨担任先锋。先轸说:“留着老将军还有用处。从有莘向南,有个地方叫空桑,和楚国的连谷地界相邻,老将军可以带领一部分兵力埋伏在那里,切断楚军败北后的归路,捉拿楚军将领。”魏犨听后欣然接受了这个任务。赵衰、孙伯纠、羊舌突、茅茷等文武人员组成一队,保护晋文公在有莘山上观战。同时,舟之侨负责整顿南河的船只,等待时机来运送楚国军队的物资,保证行动的顺利进行。第二天黎明时分,晋军在有莘山的北面摆好阵势,楚军在南面摆好阵势,双方各自排列成三个军阵。成得臣发布命令,指示:“左、右两个军先行进攻,中军紧跟其后。”
且说晋国的下军大夫栾枝,探听到楚国的右师采用陈、蔡两个部队作为前队,便高兴地说:“元帅曾经秘密告诉我:‘陈、蔡的士兵胆小且容易动摇。’如果我们先打败陈、蔡,那么右师就会不战自败。”于是,他让白乙丙出征。陈辕选和蔡公子印都想在斗勃面前立功,争先恐后地驾驶战车冲出。还没来得及交锋,晋军突然后退。两位将领正想追击,却见对方阵营门旗打开,一声炮响,胥臣率领一群战车冲了出来。这些战车上的马都披着虎皮,敌方的马看到后,以为真的是老虎,惊恐得跳来跳去,驾车的人控制不住马匹,只得调头回撤,结果反而冲乱了斗勃的后队。胥臣和白乙丙趁乱发动了攻击,胥臣用斧子砍中了蔡公子印,白乙丙用箭射中了斗勃的脸颊。斗勃带着箭伤逃跑了,楚国右翼大败,死者无法计数。栾枝派士兵假装成陈、蔡军的样子,拿着他们的旗帜,去向楚军报告说:“右师已经胜利了,快点派兵来,一起完成大功。”成得臣靠着车轼望去,只看到晋军往北逃跑,尘土蔽天,高兴地说:“晋军果然被打败了!”于是紧急催促左师全力前进。斗宜申看到对阵的大旗高高悬挂,猜测对方是主将,于是振奋精神,冲杀过来。这时,狐偃迎了上去,两人稍微交手了几个回合,只见对方阵后大乱,狐偃掉头就跑,大旗也跟着往后退。斗宜申以为晋军已经崩溃,便指引郑、许两位将军,全力追击。突然,鼓声大作,先轸和郤溱带领着一支精兵从山半腰横冲过来,将楚国军队截成两半。狐毛和狐偃重新参战,夹攻楚军。郑国和许国的军队首先惊慌失措,宜申支撑不住,拼尽全力杀出重围,遇到齐国的将领崔夭,再次遭遇战斗,最后只能放弃他们的车马和器械,混入步兵之中,攀爬山岗逃走了。原来晋军在下军假装往北逃跑,尘土遮天,其实是栾枝砍下有莘山的树木,拖在车后,车快速行驶,木头跟着跑,自然刮起了地面的尘土,骗得左军急于求成,想要追击。狐毛又假装设立了大旗,让人拖着跑,装成败退的样子。狐偃也假装败退,引诱他们来追。先轸早就已经算定了这一切,他告诉祁瞒要假装建立大将的旗帜,坚守中军,无论敌人如何挑战,都不要出去应战。他自己则率领部队从阵后抄出,横向冲过来,正好与狐毛和狐偃的两军夹攻,从而取得了全面的胜利。这都是先轸提前计划好的计策。有一首诗为证:“临机何用阵堂堂?先轸奇谋不可当。只用虎皮蒙马计,楚军左右尽奔亡。”
话说楚国的元帅成得臣虽然依仗着自己的勇猛而求战,但考虑到楚王的两次教诲,他也变得十分谨慎。传闻左、右两军都已经进战并取得了战利品,正在追逐晋国的军队;于是他下令中军击鼓,让他的儿子小将军成大心出阵。祁瞒之前一直遵循着先轸的告诫,坚守阵门,完全没有还手。当楚中军发出第二通鼓时,成大心手持画戟,在阵前耀武扬威。祁瞒忍受不了这种情况,派人去察看,回报说:“对方是个十五岁的孩子。”祁瞒说:“一个孩子能有什么本事!如果我能亲手击败他,也算是我们中军取得的一功。”于是他大声命令:“擂鼓!”战鼓一响,阵门打开,祁瞒挥舞着大刀冲出去,小将军成大心立即迎上去与他交手。两人大约斗了二十多个回合,仍然不分胜负。斗越椒在对阵门旗下观战,看到小将军没有取得胜利,便马上驾车出阵,拿起弓箭瞄准祁瞒,一箭正中他的盔缨。祁瞒吃了一惊,想要回到自己的阵地,但又担心引起大军混乱,只得绕过阵地往外逃。斗越椒大声喊道:“不需要追逐这个失败的将领,我们可以杀入中军,抓住先轸!”目前不知道胜负的结果如何,让我们拭目以待下一回的分解。