晋国自公元前627年的
肴之战之后,霸业受到秦、楚联盟的影响,陷入两线作战的被动地位。因此在
晋灵公、
晋成公时,霸业中衰,被楚国夺得中原霸主的地位。晋景公继位后,采取了新的战略:第一,消灭赤狄;第二,在公元前589年的鞍之战中战胜齐国,拆散齐楚联盟;第三,派屈巫通吴,联吴制楚;第四,拆散秦、楚联盟。
公元前582年冬,
晋景公主动释放楚国战俘钟仪,
楚共王则派公子辰出使晋国,“请修好,结成”。公元前581年春,晋派大夫籴茷至楚回报公子辰之聘。同年五月,晋景公病故,晋厉公继位后仍奉行和楚政策。公元前579年,在宋国大夫华元的安排下,晋国的士燮与楚国的公子罢、许偃在宋国的西门外举行第一次
弭兵会盟,两国同意暂息兵戈,停止战争。同年,晋大夫
郤至至楚,楚大夫公子罢至晋,互相聘问,晋楚两国出现了难得的和平局面。
秦、晋两国自
肴之战之后,冲突不断,两国共经历大小十余战,比较大的战争有公元前620年的“
令狐之战”、公元前615年的“
河曲之战”和公元前594年的“
辅氏之战”。虽然晋国胜多败少,但在晋厉公继位后,晋国依然向秦桓公作出和平试探,两君约定在令狐(今山西省临猗县西)相会。公元前581年冬,
晋厉公先至会所,而
秦桓公却不肯渡河,仅派大夫史颗到河东与晋侯结盟,晋厉公亦派大夫
郤犨到河西同秦结盟。归国后秦桓公即背叛令狐之盟,联络楚国和狄人共谋伐晋。楚共王拒绝了秦国的要求,并向晋国通报情况。
公元前579年秋,秦人约
白狄攻击晋国,晋在交刚击败白狄。公元前578年春,晋厉公与晋将
栾书、
荀庚、
士燮,
韩厥等率上,中,下及新军前往周都王城(今河南省洛阳市王城公园附近),与齐、宋、卫、鲁、郑、曹、邾、滕八国国君所率军队会师,筹划攻秦事宜,周简王亦派大夫刘康公、成肃公率军助战。同年夏,晋大夫吕相(魏相)奉命赴秦,以绝秦书历数秦国罪状。随后,晋厉公率诸侯联军西进攻秦,秦国出兵迎击,据部分史料估计晋国联军兵力约十二万人,秦国兵力约五六万人,双方实力悬殊,且晋国以有道伐无道,秦国战败实属咎由自取,该战役双方出动兵马达十八万人左右是春秋史上规模较大的战役。
晋厉公亲统晋国四军,晋军将领有中军将栾书,中军佐荀庚;上军将士燮,上军佐郤锜;下军将韩厥,下军佐荀罃;新军将赵旃,新军佐郤至。郤毅为晋厉公驾驭战车,栾针为车右,另外加上齐、宋、卫、鲁、郑、曹、邾、滕等八国联军。秦见诸侯大军压境,亦起兵进至泾河以东进行迎战。公元前578年五月四日,双方在麻隧展开激战,秦军大败,秦将成差及不更(爵名)女父被俘。诸侯方面,
曹宣公死于军中。秦军残部败退,晋及诸侯联军渡过泾河追击到侯丽(今陕西省礼泉县境内),然后回师。
麻隧之战的失败,使秦国数世不振,不再对晋国西部构成威胁。而晋国在取得麻隧之战的胜利后,完成了“秦、狄、齐”三强服晋的部署,中原诸国实为晋之属国。公元前575年,晋厉公在
鄢陵之战中战胜楚国,实现了晋景公重建霸业的愿望。