無道靈公
晉襄公六年,趙衰、欒枝、狐偃等先君時的大臣相繼去世,趙衰的兒子趙盾執掌了大權。一年以後,晉襄公去世,國家大權完全掌握在趙盾手中。經過一番君位繼承權的風波,太子夷皋最終繼承了王位,這就是晉靈公。由於晉靈公年紀很小,所以由趙盾輔助他處理朝政。這時候,晉國的主要注意力仍集中在與秦國的互相攻伐上。
靈公成年以後,生活極為奢侈,他大肆搜刮民財、廣建宮室;十分昏庸。他曾經在一條十分繁華的街道旁邊建了一座豪華的樓台,然後自己經常站在樓台上用彈弓射人,觀看百姓躲避彈丸以取樂。他無比殘忍,有一次,廚師做熊掌沒有熟透,靈公大發雷霆,便將他殺死,讓人將屍體丟棄到宮外。對於靈公的種種惡行,趙盾、隨會曾經屢次勸諫,但是沒有效果。這一次,兩人正好去上朝,看見了宮人往宮外抬送被殺廚師的屍體,都非常氣憤,便又一次向靈公進諫。久而久之,靈公對這些忠臣產生了怨恨情緒,便派遣刺客去刺殺趙盾。刺客來到趙盾家,發現大門敞開著,趙盾在堂上休息。刺客看見他家裡十分簡樸,也知道趙盾是位忠臣,便歎息道:「殺死忠臣與違背君主的命令,罪過是一樣的。」於是他放過了趙盾,但是由於自己也無法向靈公交差,就撞樹自盡了。
雖然這次沒有成功,但靈公始終沒有放棄除掉趙盾的想法。有一次,靈公宴請趙盾,打算在席間把他殺死。也許是冥冥之中自有天意,靈公的廚師長在當初貧困落魄的時候曾經接受過趙盾的恩賜,此後,兩人再沒有見面,但是這位廚師長始終沒有忘記趙盾的恩德。他知道靈公要殺趙盾的消息以後,先是勸趙盾速速離開,接著,又拚命抵擋了烈犬與伏兵的襲殺,成功地掩護趙盾脫身。趙盾出逃以後不久,靈公便被趙盾的同族弟弟將軍趙穿在桃園殺死了。至此,晉國的這段黑暗的統治才得以結束。
晉楚結怨
靈公死後,趙盾回國繼續掌政,他擁立襄公的弟弟黑臀為國君,這就是晉成公。此時,歷史上有名的楚莊王繼承了王位,楚國開始強大起來。晉國的霸主地位受到了楚國的衝擊,楚國代替了秦國,成為晉國的主要對手。成公七年,晉楚兩國,在扈邑會集諸侯,都試圖確立自己的霸主地位。陳國畏懼楚國,不敢前去赴會。晉國於是派中行桓子去討伐陳國,並趁機援救鄭國。楚軍派軍隊迎擊晉軍,結果被晉軍打得一敗塗地。
晉景公三年,楚莊王派兵圍攻鄭國,鄭國派使者向晉國告急。因為鄭國和晉國關係一直比較好,所以晉國派遣三軍前去解圍。可是當晉軍到達黃河的時候,楚國已經迫使鄭國投降並且簽訂了盟約,楚軍也已經退去,晉軍將領荀林父便打算領兵回國。但是將軍先轂說:「我軍此行的目的是來援救鄭國,如果中途撤回,恐怕軍中會出現二心。」於是,晉軍便渡過了黃河。但是楚軍在迫使鄭國投降以後,並沒有立即回國,因為他們想要到黃河飲馬,以此來顯示軍隊的威名。這樣晉楚兩軍就在黃河邊遭遇,並展開了激戰。這時候,鄭國已經歸附了楚國,所以便反過來幫助楚軍攻打晉軍。晉軍戰敗,奔逃到黃河岸邊,士兵們爭奪渡船,結果有很多人被砍斷了手指,將軍智罌也被俘虜了。回國以後,荀林父向國君請罪說:「我是督軍的主將。軍隊戰敗,我應當受到懲罰,請求大王賜我死罪。」景公也非常生氣,便想答應他的請求。這時,大臣隨會進諫說:「大王,從前,城濮之戰勝利以後,我們的先君文公仍舊一直很擔憂,就是因為楚國的大將子玉還活著,只有當楚王誅殺了將軍子玉以後,文公才高興起來。如今楚軍打敗了我軍,如果您再誅殺將軍,這不是反而幫了楚人的忙嗎?」景公覺得他的話有道理,於是就赦免了荀林父。
景公五年,晉軍討伐鄭國,再次在黃河邊被楚軍擊敗。第二年,楚國討伐宋國,宋國向晉國告急,景公打算出兵援助,大臣伯宗建議說:「現在楚國有上天庇佑,勢不可擋,百戰百勝,用軍隊是戰勝不了它的。」晉國於是派遣解揚前往宋國,假稱救宋以堅定其死守的決心,但是解揚卻被鄭國抓住送給了楚軍。楚軍用重金賄賂他,叫他到宋國城下說反話,勸其投降。解揚這個人非常忠貞,而且很聰明,於是他就假裝答應,但到了城下以後,他卻不懼一死,向宋人傳遞了晉軍將要來救援的消息,並且力主其堅守。楚人想要殺死解揚,但是有人進諫讚美解揚的高尚品格,楚軍才將他釋放回國。由於宋國久攻不下,楚軍只好解圍而去了。