晉軍焚燒楚軍陣地,大火連燒了很多天。文公見狀,隻是不停地搖頭歎息,左右隨從問道:“戰勝了楚軍,君王還憂慮什麽呢?”文公說:“戰勝敵人而能心情安定的,隻有聖人。我不是聖人,怎麽能高興起來?”

文公二年春天,秦軍駐紮在黃河岸邊,準備送周襄王回周京。趙衰對文公說:“要想稱霸諸侯,沒有比送周王回京更重要的了。我們晉國跟周室同姓,如果我們不搶先護送周王回京,落在了秦國的後邊,那就沒有資格向諸侯發號施令。尊崇周王,是我們晉國稱霸的資本。”晉國於是馬上發兵,護送周襄王回京。不久,又幫助周襄王殺了反叛襄王的弟弟帶。周襄王感激,把河內的陽樊地區賞給了晉國。

四年,楚成王帶領諸侯攻打宋國,宋國的公孫固到晉國求援。先軫說:“報答當初贈馬的恩惠,建立霸業,就看今天了。”狐偃說:“楚國最近跟曹國結盟,又與衛國通婚,如果我們攻打曹國和衛國,楚國肯定會去救援,那麽宋國就可以解圍。”於是晉國建立三軍,前往討伐。冬天十二月,晉軍首先攻克崤山以東地區,把原邑封給了趙衰。

第二年,晉文公準備討伐曹國,向衛國借道,衛國不許。於是就先襲擊曹國,然後攻打衛國,攻占了衛國的五鹿地區。衛侯請求和解,晉國人不答應;衛侯又想跟楚國結盟,可是衛國民眾不願意,還把衛侯趕走,以此博取晉侯的歡心。衛侯逃到了襄牛,讓公子買戍守衛國。楚國出兵來援救衛國,可是沒有取勝。

晉侯又發兵去圍攻曹國,攻入了曹國都城,數落曹君不聽從釐負羈的話。文公下令晉軍,誰也不許騷擾釐負羈宗族的住地,以此報答當年的恩德。這個時候,楚軍圍攻宋國,宋國再次向晉國告急。晉文公想去援救,但這樣的話,就必須得攻打楚國,而楚國曾經有恩於文公,所以文公並不想跟楚國開戰;但又不能放下宋國不管,因為宋國也曾有恩於文公。文公左右為難。先軫出主意說:“把曹伯抓起來,把曹國和衛國的土地分給宋國,這樣一來,楚國急於救援曹衛兩國,必定會解除對宋國的包圍。”文公采納,楚成王果然撤軍回國。

楚將子玉對楚王說:“君王您對晉侯不錯,他知道楚國肯定不會放下曹國、衛國不管,肯定要去援救,所以故意討伐曹衛兩國,這是輕視君王您呀!”楚王說:“晉侯流亡在外十九年,過了很久的苦日子。嚐盡了人間的艱難險阻,能夠返回國家,能調動他的民眾,這是上天的意思啊,不可抵擋。”子玉堅持請求,讓楚王派給他一些軍隊,去試著攻擊晉國。楚王無奈,隻好撥給他少量軍隊。子玉得到軍隊,馬上派宛春去告訴晉侯:“請您讓衛侯恢複君位,再保住曹國。如果你們能做到,那楚國就不再圍攻宋國。”咎犯說:“子玉太無禮了,不要答應他。”先軫說:“讓老百姓安安定定地過日子,是合乎情理和禮儀的行為。楚國現在發話,準備要安定三個國家,而我們卻要滅亡它們,這是我們無禮。如果不答應楚國的要求,就等於是放棄了宋國。不如先私下答應恢複曹國、衛國,引誘他們,再扣留宛春來激怒楚國,等打起來以後再想好辦法。”

晉侯於是把宛春囚禁在衛國,私下答應可以恢複曹國、衛國。曹國和衛國聞言,立刻宣告跟楚國斷絕關係。楚將子玉大怒,率軍攻打晉軍,文公率領晉軍後退。晉軍官吏問文公:“還沒交戰,為什麽要後退?”文公回答:“以前我在楚國流亡的時候,曾經答應要退讓九十裏,這種話能白說嗎?”楚軍也想撤退,但子玉不肯。

四月,宋公、齊將、秦將和晉侯全部進駐城濮,與楚軍對陣,楚軍戰敗,子玉收集殘兵敗將而去。

當初,鄭國曾經幫助楚國,現在楚國戰敗逃走了,鄭國很害怕,就派人來請求跟晉國結盟。晉侯答應了,跟鄭伯簽訂了盟約。

五月,晉侯把楚軍戰俘進獻給了周王,有披甲的駟馬一百乘,步兵一千人。周王派王子虎宣布賜晉侯為霸主,還賜給他大車,紅色弓一副,紅色箭一百支,黑色弓十副,黑色箭一千支,黑黍香酒一壇,大量玉器以及三百名勇士。晉侯推辭幾次,然後叩頭接受了禮物。周王作了《晉文侯命》:“你聽從道義,使諸侯和睦,顯揚了文王、武王的功業。文王、武王能夠修養美德,感動了上天,使道德在百姓中廣泛傳播,所以上天把帝王的職位交給文王、武王,恩澤流傳於子孫。你要關懷我,幫我繼承祖上的大業,永保王位。”

從此,晉文公稱霸。

晉軍焚燒楚軍陣地,大火連燒了很多天。文公見狀,隻是不停地搖頭歎息,左右隨從問道:“戰勝了楚軍,君王還憂慮什麽呢?”文公說:“戰勝敵人而能心情安定的,隻有聖人。我不是聖人,總是提心吊膽。再說,楚將子玉還在,我怎麽能高興起來?”當時,子玉已經戰敗,剛剛返回楚國,楚成王責備子玉,子玉被迫自殺。晉文公聞訊,說:“我們從外麵往裏麵打,楚王在裏麵誅殺大臣,這可是裏應外合呀!”喜悅之情溢於言表。

六月,晉侯渡過黃河回國。回國後,立刻賞賜功臣,狐偃得頭功。有人覺得不妥:“城濮之戰是先軫出的主意,先軫應該得頭功。”文公說“城濮之戰,狐偃勸我不要失信。而先軫則說:‘用兵打仗,就是為了取勝’,我靠他的話獲得了勝利,然而,這種話隻能有利於一時,無利於一世。狐偃的話才有利於千秋萬世的大業,怎麽能以一時的利益淩駕於萬世功業之上昵?所以,我要給狐偃記頭功。”

冬天,晉文公與諸侯會盟,想率領諸侯去朝見周王。又擔心力量不夠,怕諸侯反叛,於是派人讓周襄王到河陽出巡。然後,就率領諸侯在踐土朝見周王。

當時,曹伯派人勸晉侯說:“想當初,齊桓公稱霸的時候,會合諸侯,扶植異姓國家;如今君王您稱霸了,也會合諸侯,卻滅亡同姓國家;曹國,是叔振鐸的子孫;而晉國,是唐叔的後代。要滅亡兄弟國家,是違反禮儀的。”晉侯覺得有道理,就恢複了曹伯的封地。

七年,晉文公、秦穆公一起去圍攻鄭國。理由是,鄭國在文公流亡路過時沒有以禮相待,並且在城濮之戰時幫助楚國。實際上,圍攻鄭國的一個主要目的,是想得到叔瞻。叔瞻聽到這個消息後,就拔劍自殺了。鄭國把叔瞻的屍首獻給晉君。可是晉君又說:“我們得抓到鄭君才甘心。”鄭君很害怕,於是暗中派人對秦穆公說:“滅亡鄭國,肯定會增強晉國,這對晉國來說不錯,但是對秦國來說,卻沒有任何好處。君王您為什麽不放棄進攻,交個朋友呢?”秦穆公想想有道理,撤走了軍隊。晉國於是也撤退了軍隊。

九年冬天,晉文公去世,兒子襄公繼位。

同年,鄭伯也去世。鄭國有人把國家出賣給了秦國,秦穆公出兵前去偷襲鄭國。襄公元年春天,秦軍路過周的京城,傲慢無禮,得罪了很多人。不久,秦軍走到了湣國。當時,鄭國商人弦高正準備去周京做生意,恰好遇上他們,就用十二頭牛犒勞秦軍。秦軍得知偷襲的消息已經走漏,驚慌失措,滅掉了湣國之後返回。

晉國的先軫說:“秦穆公不聽蹇叔的良言,違背了民眾的心意,我們可以趁機攻打他。”欒枝不同意:“我們還沒有報答秦國對先君的恩德呢!現在攻打它,不合適。”先軫反駁道:“秦國欺負我們的新君孤弱,肆無忌憚地討伐我們的同姓國家,還有什麽恩德可報?”於是出兵攻打秦軍。四月,在殽山大敗秦軍,俘虜了秦軍的三個將領孟明視、西乞秫、白乙丙。

文公的夫人是秦國人,想搭救秦國的三員大將,就對襄公撒謊說:“秦國很怨恨這三個人,早想得到他們,殺了解恨。”襄公信以為真,就把三個將領遣送回國。先軫聽到這個消息,對襄公說:“你闖了大禍啦!”急忙去追趕秦將,可是秦將正在渡黃河,已經在船上了,見先軫前來,叩頭道謝,但沒有再返回。

三年以後,秦國果然派孟明視率軍討伐晉國,報複被打敗的仇恨,攻占了晉國的汪邑。

四年,秦穆公調動軍隊,大舉討伐晉國,渡過黃河,攻占了王官。晉軍嚇壞了,不敢出戰,據城堅守。一年後,晉軍反撲,攻打秦國,奪得了新城,報複王官之戰。