春秋时期,原本称霸中原的齐国随着齐桓公的去世,宣告衰落。这时,南方的楚国趁虚而入,向黄河流域扩展势力。楚成王在泓水之战中挫败宋襄公图霸的企图,楚国军威大振,继而控制了郑、许、陈、蔡、鲁、卫、曹、宋等众多中小国家,势力范围发展到长一一江一一、淮河、黄河、汉水之间。楚国可以说是势力强盛、声威方张。
就在楚国势力急剧扩张的时候,晋国也兴盛了起来。公元前636年,长期流亡在外,历尽艰辛的晋文公终于回国即位。他执政后,重用有才干的赵衰、狐偃等人,稳定了晋国的政治局面,同时发展经济,壮大军旅,国力日益强盛。在内修政治的同时,他还对外高举“尊王”旗帜。周王室发生篡权内乱,周襄王逃到郑国,向诸侯发出勤王的命令,但各诸侯没人愿意派兵相助。这时,晋国已经逐步具备了争夺中原霸权的强大实力,晋文公便想利用这次机会一试锋芒。于是,晋文公很快发兵帮周襄王平定了叛乱,并护送襄王回朝。这一举动大大提高了晋在中原诸侯中的威望。
晋国的崛起,引起了楚国的不安。楚成王占领齐国谷地(今山东东阿),拥立公子雍,威胁齐国的安全。晋国则联络齐、秦,与楚国针锋相对,两国之间的矛盾日趋尖锐。晋、楚之战一触即发,终于当宋国“叛楚即晋”后,双方的冲突全面激化。
泓水之战中,宋襄公战败,自己被箭射中,不久就去世了,宋国被迫屈服于楚国。后来,宋襄公的儿子继位,是为宋成公。当年晋文公流亡到宋国时,宋襄公曾帮助过晋文公,因此宋国和晋国有旧一一一交一一一,宋成公看到晋文公即位后晋国实力日增,于是就转而依附晋国。
楚国为了维持自己在中原的优势地位,便出兵伐宋,借此扼制晋国势力的扩展。公元前633年冬,楚率陈、蔡、郑、许等五国联军进攻宋国,围困宋都商丘。危急中,宋成公派大司马公孙固到晋国请求援助。
晋文公与大臣们商量。晋军元帅先轸认为,这是“报施救患,取威定霸”的好机会,应该把握。晋文公也早有称霸中原的意图,便想借用这次机会以救宋为名,出兵中原,但是自己流亡时曾受过楚王的恩惠,这时因为救宋而出兵攻楚,在情理上似乎说不过去。这时,狐偃出主意说,楚刚刚与曹结盟,新与卫联姻,而曹、卫都曾对您不敬,我们攻打曹、卫合情合理,而楚国一定会派兵救助这两国。这样一来就可以引一诱楚师北上,解宋国之围,也可以避免落人口实,同时,楚军劳师北上,晋国也可以坐收以逸待劳之功。
有了这个战略方针,晋文公坚定了出兵的决心。然后,晋国君臣积极地开始进行战前准备,晋文公检阅军队,扩编三军,任命了一批优秀的官吏出任各军将领。
公元前632年初,晋国准备就绪,晋文公出动三军、战车七百乘渡过黄河,进攻卫国,攻取了卫国的五鹿,并挥师东进,攻占敛盂(今河南濮一陽一东南),同时遣使至齐国通好,成功与齐孝公结盟。齐晋已经结盟,晋军兵临卫都城下,卫侯向晋国求和,晋文公不答应。于是,卫侯又想投靠楚国,国人不答应,于是驱逐了卫侯,投降了晋军,晋军没动干戈就占领了卫国。三月,晋军南下攻曹,占领了曹国都城陶丘(今山东定陶),俘虏了国君曹共公。
本来晋军攻曹、卫,是为了诱楚北上来援,以解宋围。但是,曹、卫告急,楚军却不为所动,反而加紧围攻商丘,宋再次向晋军告急。
面对这种形势,晋文公感到左右为难:若不南下救宋,宋国力不能支,一定会降楚绝晋,使晋国陷于被动,对自己称霸中原的计划不利;若南下救宋,则原定诱使楚军北上,于曹、卫之地决战的战略意图则无法贯彻,而且晋军兵力有限,远离本土,与强大的楚军一一一交一一一战也没有必胜的把握。于是,晋文公再次召集大臣商议,先轸通过分析形势,献上一计:让宋国表面上同晋国疏远,派使者去贿赂齐、秦二国,请他们去求楚军撤兵。晋国则分曹、卫的一部分土地给宋人,坚定宋国抗楚的决心。曹、卫本是楚国的盟国,此举必能激怒楚国人,从而拒绝齐、秦的劝解。秦、齐“喜贿怒顽”,劝楚不成,就会站到晋国一边,决定出兵对楚作战。
晋文公觉得此计甚妙,马上开始执行。楚国未能攻下商丘,曹、卫之地又被送于宋国,楚成王果然大怒,拒绝了齐、秦的调停。当时,齐、秦都是大国,见楚国不给自己面子,也大为恼怒,于是放弃中立立场出兵助晋。这样一来,就形成了三强联合对楚的战略格局,晋、楚双方的力量对比发生根本一性一的逆转。
楚成王见晋军破曹降卫,与齐、秦结成了联盟,中原形势明显不利于己,又担心秦国乘机攻其后方,便主动把楚军撤退到楚国的申邑(今河南荥一陽一),并命令令尹子玉撤回围攻商丘的军队,避免与晋军冲突。楚成王告诉子玉说,晋侯在外一流亡十九年终得晋国,期间备尝艰难险阻,非等闲人物,有德不可敌,凡事要量力而行,知难而退。但子玉骄傲自负,不听楚成王劝告,坚请与晋一战,请求楚成王增调兵力。楚成王犹豫不决,既不愿与晋一一一交一一一战,又希望他侥幸取胜,虽然同意了子玉的决战请求,却只派了王室亲兵600人前往增援。
请战获准,并得到楚成王的增援,子玉更加坚定了同晋军作战的决心。
为了寻找决战的借口,子玉派使者宛春与晋一一一交一一一涉提出了一个“休战”的条件:如果晋军让曹、卫复国,楚军就撤离宋国。这其实是子玉一石三鸟的计策。按照他的计划,如果晋答应他的休战条件,那曹、卫、宋三国都会感激楚国;如果晋不答应,那么晋就会招来曹、卫、宋三国的怨恨。不管怎样,晋国争霸中原、号令诸侯的努力都将白费。
先轸识破了子玉的意图,将计就计出了一个更高明的计策,让晋国私下和曹、卫一一一交一一一涉,以和楚国断绝关系为条件,答应让曹、卫复国,同时,扣留了楚国的使者宛春,以激怒子玉寻战。曹、卫叛楚归晋,使者被晋国扣下,狂傲自大的子玉果然恼羞成怒,倚仗楚、陈、蔡联军兵力的优势,气势汹汹地率军进一逼一陶丘,寻求与晋军决战。
当初,晋文公以公子身份流亡到楚国寻求帮助时,曾答应楚成王,如果晋楚两国在中原一一一交一一一战,晋国会退避三舍以报楚国的厚恩。如今,晋楚两军果真相遇,于是晋文公履行诺言,命令晋自曹都陶丘后撤三舍,在城濮(今山东范县南)驻扎下来。齐、秦、宋诸国的军队也陆续抵达城濮和晋军会合。晋文公退避三舍,表面上是报答楚成王,实际上是为了避开楚军的锋芒,诱敌深入,疲敝楚军的同时,集合齐、秦等盟国军队,以选择有利的决战时机,后发制人。
晋军主动后撤,引起楚军中不少人的怀疑,主张停止追击采取观望态度。但是,刚愎自用的子玉却认为晋军退缩,正是追击晋军,夺回曹、卫的大好时机,于是率军急进,跟踪追至城濮。
公元前632年四月,晋楚两军在城濮展开了一场战车大会战。子玉将楚军分成中、左、右三军:楚军主力一精一锐为中军,由他本人直接指挥;陈、蔡军附属楚右军,由楚将子西统率;郑、许军附属楚左军,由子上统率。
晋军的三军阵容为:先轸为元帅,统率中军;狐一毛一统率上军,郤溱、狐偃为副将;栾枝统率下军,胥臣为副将。
晋军分析楚军情况,认为楚中军较强,左右两翼战斗力薄弱,楚军统帅子玉骄傲轻敌,没有掌握晋军虚实,因此决定有的放矢,先攻击他们的两翼,再向中军发动进攻。
晋统帅先轸下令,先击溃楚军较弱的右军,即陈、蔡两国的军队。晋国下军副将胥臣奉命迎战,陈、蔡军队的战马多,来势凶猛。胥臣把驾车的马匹蒙上虎皮冲向敌阵,陈、蔡军队的战马和士卒不明实情,以为真是老虎冲过来了,顿时惊慌失措,纷纷后退。楚右翼当即溃败。
楚子玉、子上见右军溃败,火冒三丈,对晋中军和上军展开了猛烈的攻势。晋军便采用诱敌出击,分割聚歼的策略对付楚左军的猛攻,晋上军制造败退的假象,主将狐一毛一故意将主将和副将的两面大旗插在战车上,然后引车后撤;晋下军主将栾枝为了让楚军相信后军已退,也在阵后用战车拖曳树枝,地面上尘土飞扬。楚将子玉没有识破晋军计谋,真的以为晋右翼败退,盲目命楚左军追击,从而使其侧翼暴露。晋先轸、郤溱率中军拦腰截击,晋上军主将狐一毛一、佐将狐偃也乘机回军夹攻。楚左翼陷入重围,完全没了退路,很快也被晋军击溃。
子玉见左、右军皆败,大势尽去,遂下令中军停止进攻,迅速脱离战场,才使中军得以保全。楚军战败后,退至连谷(今河南西华境),子玉遭到楚成王的责备,羞愤自一杀。
城濮之战以晋军获得决定一性一胜利而告终,使楚国北进锋芒受挫,被迫退回桐柏山、大别山以南地区,稳定了中原形势。战后,晋军进入郑国衡雍,并在衡雍附近的践土为周王修筑行宫,向周王献俘。周王亲自到践土慰劳晋军,并封晋文公为“侯伯”。晋文公便在践土召集齐、鲁、宋、卫等7国之君会盟,定下尊王的盟约,晋国成为中原的霸主。
城濮之战是晋、楚两国为争夺中原霸权而进行的第一次战略决战。这场战争中,齐、秦两国只是声援晋国,并没真的参加战斗,因此在军队实力上,楚军占有优势,但是晋军开“兵者诡道也”之先河,以谋略制胜,并在战役指导上采取了正确的扬长避短、后发制人的方针,大败楚军,最终取得战争胜利,得以雄踞中原。