城濮之戰
晉獻公晚年為女色所迷,寵愛驪姬姐妹,害死太子申生,逼迫另外兩個兒子重耳、夷吾逃亡,引發了一場長達20年的政治動蕩。
由於受到驪姬姐妹的挑唆,晉獻公欲廢黜太子申生,另立驪姬所生之子奚齊為太子。然而申生、重耳、夷吾等幾位年紀較長的公子都有師保私屬,勢力頗大,不安分的驪姬未敢貿然行事。後來,驪姬勾結一班寵臣,不斷離間獻公父子關係。獻公二十二年(前655年),驪姬設計陷害三位公子,結果申生被迫自殺,重耳、夷吾則被迫流亡在外,史稱「驪姬之亂」。
重耳踏上逃亡之路后,帶著一干從人投奔到了她母親的娘家狄人部落。當時的晉國國君晉惠公恐怕重耳對自己不利,派人前往狄地行刺,重耳得知,便又率領著一干隨從離開了已住了12年的狄地,投奔到了齊國。齊桓公以貴賓之禮接待了重耳,並以宗室女姜氏給他做了妻子,又賜馬80匹。重耳在這裡安心住了兩年,後來桓公死,齊國發生了諸公子爭君位之亂,重耳雖然不想離開這裡,但他的隨從們灌醉了他,之後便將他帶離了齊國。
此後,重耳又相繼到達了曹國、宋國、鄭國、楚國。在楚國時,楚成王甚至以國君之禮接待了重耳。有一次在宴會上,楚成王問重耳道:「若是你有幸回國登上君位,那麼你將以何禮對待我呢?」重耳說:「美女財物,您都已經有了。稀奇的東西,您的土地上也不缺乏。晉國實一小國,真不知道如何報答您的盛情。」但楚王偏要重耳想出一個報答的方式,於是重耳便說道:「如果楚、晉兩軍相遇於中原,那麼晉軍就會退避三舍(90里)以報答您今日的盛情。」重耳在楚國待了幾個月之後,楚成王又把他送到了秦國,因為那裡距離晉國較近,方便重耳成就大事。到了秦國后,秦穆公厚待重耳,以宗室五女給重耳做了妻妾。惠公十四年(前637年)九月,惠公病死,從秦國潛逃回來的太子圉即位,可是他很不得人心。次年二月,晉國百姓知公子重耳在秦國,於是便暗中勸他返晉為君。重耳答應,秦穆公便又派了軍隊護送重耳回國,新君最終被重耳派人殺死。接著重耳即位為新的晉君,此時已距離他逃亡在外已逾十九載。
重耳成為晉國國君后,在秦穆公的幫助下,迅速平息內亂,開始致力於國內改革與創建霸業的行動。此後,晉國不斷插手中原事務,終於同楚國在中原的霸權發生了矛盾。
晉文公四年(前632年),文公決定討伐曹、衛兩國。當時楚國大軍在大將子玉的帶領下正圍攻宋國的都城,楚成王知道晉軍鋒芒正盛不可與戰,偏偏子玉立功心切,自恃兵力眾多,居然對於成王的命令不予理睬。晉文公又故意激怒子玉,於是子玉便撤了宋都之圍,率軍進攻晉軍。
當兩軍相遇時,晉文公下令晉軍後撤,從原來的前線到城濮,晉軍一共後撤了90里路,正符合重耳當年向楚成王的承諾——退避三舍。其實「退避三舍」並非晉文公簡單的報恩,而是具有政治和軍事上的現實意義的。在政治上,晉文公看似禮讓的後撤贏得了輿論上的同情;在軍事上,晉文公集中兵力,搶先佔領了有利地形。讓一鼓作氣而來的楚軍撲了一個空,士氣大減,又不得不繼續北上,疲勞進攻以逸待勞的晉軍。這年四月,雙方戰於城濮,晉軍以誘敵深入之計,以逸待勞打了楚(陳、蔡)聯軍一個措手不及。雖然被重點攻擊的是陳、蔡兩國的軍隊,楚國作為中軍並未受到多大損失,但是士氣已喪,最終子玉不得不下令撤退,楚軍由此狼狽而歸。
就這樣,我國歷史上又一場以少勝多的著名戰例被寫就了,作為楚軍主帥的子玉不久便自殺以謝國人。
城濮之戰結束后,楚國的盟國紛紛倒向了晉國,與之結盟。同年五月,晉文公在踐土給周襄王修了行宮,並請周襄王到鄭國的踐土大會諸侯,還把陳、蔡和楚國的俘虜獻給了周天子。周襄王賜晉文公以大輅之服、戎輅之服、彤弓等物和虎賁300人,策命為侯伯。晉及齊、魯、宋、衛等七國國君和周王室大臣王子虎訂立盟約,正式稱晉文公為盟主。不久又會諸侯於溫,周襄王也被請赴會,任命晉文公為諸侯之長,命他安撫四方,監督和懲治危害周天子的人。至此,晉文公正式成為了齊桓公之後的又一霸主。