春秋中期,晉楚爭霸的形勢已經形成並長期持續着。東方諸侯國基本上屬於晉國的陣營,魯國對晉國的關係是穩定的,這與經常受到齊國的欺負、需要憑藉晉國的支持有關。齊國則自恃國大力強,同晉國的關係若即若離,當晉國在靈成二公時期,力量一度衰弱,齊國就有離心傾向,晉國也並不放鬆對齊的控制,伺機進行懲罰。
公元前600年(魯宣公九年),晉與宋、衞、鄭、曹等國在鄭國的扈地開會商議討伐齊、陳事宜。魯國雖沒有與會,卻是支持這一盟會的。
魯國一面結援晉國,一面振興自己的力量,那就是著名的“初税畝”和“作丘甲”的改革。作為西周一個重要諸侯國的魯國,到春秋時,地位雖有些衰落,但仍有一定經濟、軍事力量。
公元前594年(魯宣公十五年),魯國實行“初税畝”制度,即廢除用奴隸勞動力耕種公田的“藉田制”,實行按畝收取穀物的税畝制。這一措施固然是為了增加統治者的收入,但改勞役剝削為徵取實物,也改善了奴隸的經濟地位。人們在所分得的小塊土地上耕種,時間可自由支配,人身依附關係鬆弛。
為了擴大兵源,魯國又於公元前590年(魯成公元年)“作丘甲”,讓住在野鄙裏的奴隸繳納軍賦,徵收軍事裝備,同時也允許他們當兵。這樣對齊國進行戰爭,也就準備了物質與人力的基礎。
在魯國“作丘甲”第二年的春天,齊國首先攻打魯國的龍邑(今山東泰安西南)。齊頃公的寵臣盧蒲魁在攻城時被擒,齊頃公要求魯人不要殺他,以齊軍不再進入魯國邊界為條件。可是龍邑人不理睬,不但把盧蒲魁殺了,還把他的屍體掛在城頭上。
齊頃公很生氣,親自擊鼓指揮攻城,經過三天的戰鬥,攻下龍邑,接着向南進軍打到魯國的巢丘(今山東泰安境內)。
同時,齊軍也入侵衞國,在新築打敗衞軍,衞國統帥孫良夫被新築大夫仲叔於奚解救,才沒有當俘虜。孫良夫感到喪師辱國,急於報仇雪恥,竟不回衞國直接到晉國請求伐齊。這時,魯國也派臧宣叔到晉國乞師,兩人都直接找到晉國執政者郤克。
晉、齊的矛盾,這時也加深了。公元前592年(魯宣公十七年),晉軍曾派卿官郤克做使臣往齊國,邀請齊君到晉地斷道會面。齊頃公的母親蕭夫人聽説郤克是個跛子,就躲在帳幕內偷看,她見郤克一跛一跛地登上台階,禁不住笑出聲來。
郤克聽到女人的笑聲,氣極了,發誓要報仇。
與郤克同到齊國的魯國季孫叔父是禿子,衞國使者孫良夫是斜眼,曹使公子首是駝背。齊國為了奚落這些使者(包括郤克),讓生理有同種缺陷的齊人接待這些使者。
齊頃公這樣輕侮晉使,當然是對晉國不友好的表現。郤克回到晉國就請求晉景公允許他帶兵伐齊,景公不同意。他又要求用郤氏族軍去攻齊,還是不允許,伐齊的事就擱置下來。
過了三年,這時魯、衞都派人到晉請求共同伐齊。晉國見齊國接連侵犯與自己友好的諸侯國,再不能坐視。晉景公允許了魯、衞的要求,派郤克做中軍元帥,帶領兵車800乘(約6萬人)出發,正式組成反齊的同盟軍。
一場發生在中原東部的戰爭,就這樣拉開了序幕。這是公元前589年的夏天,戰前,魯國派臧宣叔做晉軍的嚮導,另派季文子帥魯軍參戰;六月,晉軍和魯、衞、曹等國軍隊同齊軍在齊國的鞌地(今山東濟南西)相遇。結果,齊軍大敗,晉、魯等國軍隊一直打到齊國東部地區。
齊頃公被迫向晉國求和,齊國歸還侵佔的魯、衞領土,晉國也得到齊國大批寶物。這次晉、齊戰爭,齊君幾乎成為晉人的階下囚,齊國的地位大為削弱,晉國取得重大勝利,重新增強了晉國在諸侯國中的霸主地位。
在晉、齊大戰中,楚國表面上保持中立,實際上是支持齊國,同年,楚侵衞,又攻佔魯的蜀邑(今山東泰安附近)。魯賄賂楚國,送給官府手工業奴隸木工、刺繡工、織布工各100人,並派成公兒子公衡做人質,向楚人求和。
接着,楚在蜀地與魯、蔡、許、秦、宋、陳、衞、鄭、齊、曹、邾、薛、鄫等13國的國君或卿大夫結盟,這是春秋以來參加國數最多的一次大盟會。楚國聲勢大到如此,卻沒有直接支持齊國,一來是因為春秋時代楚國從來未這樣做過,二來是楚莊王死去不久的緣故。
對於楚國這樣的氣焰,無疑晉國也不會甘心。在楚國盟蜀的第二年(前588)。晉國約集了魯、宋、衞、夷等國伐鄭。晉國一部分軍隊深入鄭地,卻在丘輿被鄭將公子偃設下的埋伏所打敗,鄭人到楚國去獻俘。
晉、楚兩國,在這時差不多是勢均力敵。
公元前586年(魯成公五年),鄭國服晉,晉邀集了齊、魯、宋、衞、鄭、曹、邾、杞等國盟於蟲牢(今河南封丘北),這時中原諸侯國既害怕晉國,又不敢得罪楚國,差不多都是兩邊朝聘、納貢。
在晉、楚力量處於均勢的時候,晉國接受了從楚國逃來的申公巫臣的建議,聯合吳國打擊楚國,形成了後期爭霸的一項新的策略,出現了新的形勢。
巫臣到吳,得到吳君壽夢的欣賞,實現了晉、吳聯合。他還帶一隊晉軍去吳國,訓練吳軍射箭、駕車、演陣的軍事技術,慫恿吳君反對楚國,又留下自己的兒子狐庸做吳國的行人官(外交官)。這樣,吳國就開始攻伐楚國。
公元前584年(魯成公七年),伐楚的屬國巢、徐,又攻入楚邑州來,一些屬於楚國的小國都被吳國奪去,吳國開始強大,與中原諸侯交往。從此,楚國受到很大的牽制。
楚國在吳國的牽制下,力量分散,公元前583年(魯成公八年),晉國起兵攻蔡,順道伐楚,擊敗楚軍,俘楚將申驪;又攻打臣服楚國的沈(今安徽臨泉),俘獲沈君。同年,晉國會合諸侯的軍隊伐郯,開闢通吳的道路。
同時,楚國也不甘示弱,公元前582年(魯成公九年),楚攻下莒的國都,以截斷晉、吳通道。在聯吳制楚策略的影響下,晉國集團的吳國對楚的威脅很大,從而晉楚之間的矛盾進一步加深了。
晉、楚兩國爭霸,迫使小國服從自己指揮,是其爭取目標之一。尤其是介於晉、楚之間的鄭國,成為晉、楚經常爭奪的對象。可是聰明的鄭國執政者,按照晉楚力量強弱的變化決定對它們的向背,即所謂“唯有禮與強可以庇民者是從”,誰強就順從誰,用這種兩面政策求得生存安穩。
公元前575年(魯成公十六年)的春天,楚以汝陰之田賄賂鄭國,鄭國倒向楚國,這激怒了晉國。晉厲公決定興師伐鄭。鄭國向楚求救,楚共王率軍救鄭,晉軍渡過黃河。六月,與楚軍在鄢陵相遇,晉楚兩國間又一次大戰開始了。
楚軍方面的統帥是共王,司馬子反統領中軍,令尹子重將左軍,右尹公子壬夫率右軍。晉軍方面的統帥是厲公,中軍統帥是欒書,士燮為副;郤錡統帥上軍,荀偃為副;韓厥統領下軍。楚軍採取先發制人的戰略。
激戰中,晉將郤錡一箭射中了共王的眼睛,共王氣憤已極,立即命令神箭手養由基給自己報仇,養由基一箭把郤錡射死。但晉軍上下一心,個個奮戰,很快把楚軍逼到危險的陣地。養由基連射晉軍,箭無虛發;大力士叔山冉抓起晉國士兵去投擊晉軍戰車,把追上來的晉軍車軾打斷,晉軍才停下來。
戰爭從早晨打到星光出現,雙發都已疲憊不堪,於是暫時休戰。雙方都進行檢查傷亡、補充兵員、修整兵馬的活動,積極準備再戰。
楚共王聽到從晉營放回來的楚國被俘士兵講到晉軍的部署,就立即叫子反來商議對策。可是,子反卻因喝了小臣谷陽豎獻的酒,酩酊大醉,人事不省。共王説:“是天意要使楚國失敗,我不能再等待了”,乘夜幕的掩護,帶着楚軍離開戰場回國了。
晉軍進入楚營,楚軍留下的糧食,晉軍吃了三天。
鄢陵之戰晉軍勝利後,晉郤至到周王室“獻捷”,他見周桓公時談到這次戰爭中楚敗晉勝的原因,即令尹與司馬不合;軍隊疲於戰爭;鄭軍列隊不整齊嚴肅;附楚之蠻夷小國的隊伍沒有陣容;打仗的時間沒有選擇好;楚軍沒有紀律,不會有鬥志。而晉軍的取勝則是軍帥勇敢,善於指揮,士兵訓練有素,隊列整肅,臨陣不亂等。
鄢陵之戰,是繼城濮之戰後晉對楚的第二次大勝。加上上次晉擊敗的邲之戰,晉楚爭霸就是這三次大戰,晉國三戰兩勝,最後阻止了楚國的北進。此後,就再沒有中原的爭霸大戰了。但是,晉、楚爭奪霸主地位的鬥爭,仍然沒有停止。
吳國自從得到晉國的支持後,力量日強,成為楚國很大的威脅。公元前570年(魯襄公三年),楚子重(公子嬰齊)率領精兵伐吳,穿組甲的300人,穿被練的徒兵3000人,奪取吳地鳩茲(今安徽蕪湖東),打到衡山(今安徽當塗東),並派猛將鄧廖帶兵深入吳境,吳兵截擊,楚兵大敗,鄧廖被俘。楚軍回國時,吳人尾隨伐楚,奪取了駕邑。這一戰役,楚國得少失多,令尹子重生氣,犯心臟病死去。
總之,鄢陵一戰,楚國被晉國大敗之後,從此處於守勢,加上晉國聯合吳國對付楚國,楚國的處境越來越困難。