春秋时期,随着齐桓公逝世,曾经雄踞中原的齐国步入衰微,南方的楚国趁势北上,向黄河流域扩张势力。楚成王在泓水战役中击败了试图争霸的宋襄公,楚国军威大振,进而控制了郑、许、陈、蔡、鲁、卫、曹、宋等多个周边小国,疆域横跨长江、淮河、黄河、汉水流域,一时风头无两,实力强盛,声威显赫。
正当楚国势力如日中天之际,晋国也在悄然兴起。公元前636年,历经多年流亡磨砺的晋文公终得回国即位。他任用贤能如赵衰、狐偃等人,稳定国内政局,发展经济,增强军事力量,晋国国力日渐雄厚。在国内励精图治的同时,晋文公对外高举“尊王攘夷”的大旗。当周王室内部发生篡权动乱,周襄王逃至郑国并向诸侯求援时,无人响应。晋文公洞察时机,迅速出兵助周襄王平定叛乱,并护送襄王回朝,此举极大地提升了晋国在中原诸侯间的威望。
晋国的崛起引起楚国警觉,楚成王占据齐国谷地,扶植公子雍以威胁齐国安全。晋国则联合齐国、秦国,与楚国形成对峙之势,两国间的矛盾愈发激烈。尤其在宋国背楚投晋之后,晋楚之间的冲突全面升级。
宋襄公在泓水之战中受伤,不久去世,宋国被迫屈从于楚国。其子宋成公继位后,鉴于宋襄公曾在晋文公流亡时伸出援手,宋国与晋国有着深厚的情谊。眼见晋文公即位后晋国势力不断壮大,宋成公遂转向倚仗晋国。
为维系在中原的优势地位,楚国出兵攻打宋国,意在压制晋国的势力扩张。公元前633年冬季,楚国联合陈、蔡、郑、许等五国组成联军,围攻宋国首都商丘。危难关头,宋成公派出大司马公孙固前往晋国求援。
晋文公与众臣商议对策,晋军统帅先轸认为这是“回报恩德、救援患难、树立威望、确立霸业”的绝佳机会,应果断抓住。晋文公也有志于称霸中原,欲借此次救宋之机进军中原,但考虑到自己流亡时曾受楚王恩惠,直接以此理由攻楚似乎不合情理。狐偃适时提出策略,指出楚国刚与曹国结盟,并与卫国联姻,而曹、卫两国曾对晋文公无礼,晋国可以名正言顺地攻打曹、卫,楚国必定会出兵援救,如此便可引诱楚军北上,既能解除宋国之围,又能避免落下口实,且楚军长途跋涉,晋国可凭借以逸待劳的优势。
确定了战略方向后,晋文公坚定信心,着手备战。他亲自检阅军队,扩充编制,选拔优秀官员担任各级将领。
公元前632年初,晋国准备充分,晋文公亲率三军、七百辆战车横渡黄河,首先进攻卫国,攻克五鹿,并继续向东挺进,占领敛盂,同时派使者出使齐国,成功与齐孝公缔结盟约。齐晋结盟后,晋军逼近卫国都城,卫侯请求讲和,晋文公未接受。卫侯转而寻求楚国庇护,但国民强烈反对,迫使卫侯出走,卫国投降晋军,晋军不费吹灰之力占据了卫国。三月,晋军挥师南下攻曹,攻占曹国都城陶丘,俘虏了曹共公。
原本晋军攻击曹、卫的目的在于诱使楚军北上救援,以解宋国之围。然而,面对曹、卫的紧急求助,楚军并未北上,反而加强对商丘的围攻,宋国再度告急。
面对此困境,晋文公陷入了两难:若不南下救援宋国,宋国可能因力竭而降楚断晋,这将不利于晋国在中原争霸的战略布局;若南下救援宋国,则原有的诱楚北上、在曹、卫地区决战的战略意图难以实现,且晋军兵力有限,远离本土,与强大的楚军正面交锋并无十足胜算。晋文公再次召集群臣商讨,先轸经过深入分析,提出了新的策略:让宋国表面上疏远晋国,派人携带财货贿赂齐、秦两国,请它们出面劝说楚军撤兵。晋国则将曹、卫的部分领土割让给宋国,以坚定宋国抵抗楚国的决心。由于曹、卫原本是楚国的盟友,此举必将激怒楚国,使其拒绝齐、秦的调停。齐、秦两国出于贪财和反感顽固立场,劝