晋文公五年,宋国大夫门尹到晋军汇报宋国的军情,请求文公解宋国之围。
晋文公向晋国大夫们表示,宋国向我们求救,如果不加理会,两国的关系就会断绝。请求楚国撤兵,楚国却不同意。我们打算作战,可秦国、齐国又不同意,该怎么办?
先轸表示,让宋国不要向我国求救,而去向秦、齐两国送礼,让他们请求楚国退兵。我们逮捕了曹君,再把曹、卫两国的土地割给宋国,楚国不愿失去曹、卫两国,肯定不会答应秦、齐两国。这样秦、齐两国得到了宋国的贿赂,一定会高兴,而楚国不肯退让,秦、齐两国一定会生气,还能不参加战斗吗?
晋文公听了很高兴,就把曹、卫两国的土地分给了宋国。
楚国国君楚成王听闻晋文公率军前来救援宋国,就退到申地居住,让申叔居住在谷地,命令子玉(成得臣,楚若敖之孙)离开宋国。
楚成王表示,不要追赶晋军。晋侯在外流亡十九年,最后还是得到了晋国。艰难险阻,他都体验过了;民众的虚实,都一清二楚。上天还赐予他高寿,帮助他除掉了晋国的祸害。既然是上天所安排,难道我们还能废弃他吗?《军志》说‘允当则归’,又说‘知难而退’,又说‘有德不可敌’。这三条记载,说的就是晋国。
子玉派伯芬(楚若敖之曾孙,子玉之侄)请求作战,表示,虽然不能肯定一定立功,但希望以我的行为能够堵住谗妄小人的嘴。
楚成王听了十分生气,只给他少量的军队,让西广、东宫和若敖的一百八十辆战车跟随他。
子玉派宛春告诉晋军,请让卫侯恢复君位,将土地还给曹国,这样我们就接触宋国的围困。
狐偃因此对晋文公表示,子玉实在太无礼了。国君您只得到一个好处(解宋国之围),他身为臣子却得到两个好处(复卫君之位、归曹国之田),我们不能失去进攻楚国的机会。
先轸却对文公说,您应该答应子玉的请求,安定别人的国家这叫做有礼。楚国一句话能让三国安定,我们一句话却让三国灭亡。这样我们的行为就无礼了,又怎么能够作战呢?不同意楚国的请求,就等于舍弃了宋国。原本打算救援宋国,结果却见死不救,国君如何向诸侯交代?楚国对三国有恩,我们对三国有怨,仇怨埋藏得多了,我们又怎么来作战呢?不如私下里恢复卫君之位、归还曹国土地,来离间他们与楚国的关系。同时将宛春抓起来激怒楚国,先与楚国交战再考虑其他的问题。
晋文公听了之后十分高兴,便将宛春囚禁在卫国,同时私下里许诺恢复曹国的土地和卫国的君位,于是曹、卫两国便与楚国断绝了关系。
子玉果然被晋军的行为所激怒,率军追赶晋国军队,晋国军队因此后撤。
晋军中的官吏表示,以国君的身份避让臣子,这是耻辱,况且楚国的军队已经疲惫,为什么要撤退呢?
狐偃对他们说,统率军队,理直就气壮,理曲就疲惫,哪里在于时间的长短?没有楚国的恩惠,国君不能到达如今的地步,退三舍之地避让楚军,这是报答楚国的恩惠。如果背弃了楚国的恩惠,忘记了当初的诺言,反而去保护他的仇敌宋国,我们就理屈,楚国就理直楚国的军队向来有斗志,不能说他们疲惫。如果我们撤兵,楚国也回去,那我们还有什么要求呢?如果他们不回去,身为国君的退让,身为臣子的却追赶,那么理曲的就是楚国了。
于是,晋国的军队后退九十里,楚国的士兵不想追赶,可子玉不同意。