晋献公临死之前,将骊姬的儿子奚齐立为太子,并将太子托付给大夫荀息。奚齐继位以后不能服众,大夫里克便联络了一众大臣杀死了奚齐,于是荀息又立了骊姬妹妹的儿子卓子继位,这次里克不仅杀死了卓子,连荀息也一并杀死。

杀死了奚齐、卓子之后,里克等人派人到狄国去迎接流亡的公子重耳回国继位。重耳却认为此时局势未定,而狄国也没有足够的实力作为自己回国继位的后盾,于是婉言拒绝里克说:“我违背了父亲的命令,逃出了晋国,父亲去世也不能以人子之礼回国奔丧,现在我又有何面目回国呢?请里克大夫迎立其他的公子吧。”

使者回去将重耳的话报告给里克,于是里克就到梁国去迎接公子夷吾回国。公子夷吾很高兴,打算回晋国继位,但是他身边的大臣却劝他说:“国内尚有公子可以立为国君,里克却到国外找人继位,其中必定有诈。如今秦国强大,在边疆国家中威望卓著,不如请秦国派兵护送我们回国。”

于是公子夷吾便派人带着厚礼入秦,请求秦穆公派兵护送自己回晋国,并向秦穆公承诺:“诚得立,请割晋之河西八城与秦。”同时又写信给里克许诺:“诚得立,请遂封子于汾阳之邑。”秦穆公听了公子夷吾的条件,觉得很值得,便欣然派兵将公子夷吾送回了秦国,而里克得到了赐予封邑的承诺,也就真心地迎立公子夷吾。在秦国、齐国、晋国三方势力的平衡下,公子夷吾顺利地在晋国即位,是为晋惠公。

但是晋惠公即位之后却过河拆桥,不仅不给里克封邑,反而削他的权力,后来担心里克会勾结流亡在外的公子重耳夺位,干脆杀掉了里克。同时他也不肯按照之前的约定将河西八城划给秦国,于是派大夫邳郑出使秦国,向秦穆公道歉:“当初国君将河西之地许给您,现在他有幸得立,本想如约践诺。但是大臣们反对说晋国的土地是先代国君留下来的,国君流亡在外,岂可擅自许给秦国?国君争辩不过,只得派我来谢罪,不能将土地划给秦国了。”

邳郑本是里克的党羽,他出使秦国时听说了晋惠公杀掉里克的消息,一方面为自己逃过一劫而庆幸,一方面又担心自己回国以后会遭遇不测,于是便想借秦国之手翦除晋惠公羽翼,除掉他的心腹大臣吕甥、郤芮。邳郑找到秦穆公说:“晋国之人其实不想迎立公子夷吾,而是希望公子重耳回国做国君,夷吾能够即位都是秦国的庇护。现在他违背与秦国的约定,又杀死里克,这都是奸臣吕甥、郤芮的阴谋。您不如用高官厚禄引诱吕甥、郤芮到秦国来,到时候夷吾失去了左右手,您自然可以再扶助重耳回晋国即位。”

秦穆公本就对晋惠公食言而肥的行径深为不满,也看出了晋惠公统治的晋国不会亲近秦国,此时听了邳郑所言觉得有理,果然派人与邳郑一同回国,邀请吕甥、郤芮到秦国来。不过吕甥、郤芮敏锐地觉察到其中有诈,没有轻易上当,他们怀疑邳郑有问题,便请晋惠公杀了他。邳郑的儿子邳豹逃到了秦国,请秦穆公发兵攻打晋国,秦穆公知道邳豹只是想为父报仇,并没有答应他,只是暗地里将他收留在秦国。

不久以后,晋国遇到大旱,派人来秦国借粮。邳豹劝秦穆公不要借粮食给晋国,可以趁此机会讨伐晋国。但是百里奚指出百姓无辜,不应因晋惠公的无礼得罪而让晋国百姓无粮食可吃,于是秦穆公便决定借粮给晋国。几年以后,秦国也遇到了饥荒,向晋国借粮。谁知晋国不仅不借粮,反而趁秦国的危机兴兵进犯,秦穆公一怒之下任命邳豹为将军,并且亲自带兵前去还击。

秦穆公与晋惠公的军队在韩地遭遇,晋惠公身先士卒,冲在战阵前列与秦国征战,谁知回来的时候马却陷入了泥坑中。秦穆公见此天赐良机赶快带领随从护卫追来抓晋惠公,可是为时已晚,反而被晋军围困。多亏了三百名忠于秦穆公的勇士拼死杀入重围,不仅救了秦穆公,还俘虏了晋惠公。

秦穆公带着晋惠公回国,并且一路上宣称要用晋惠公来做祭祀上天的祭品。周天子听说了这件事觉得很不安,认为晋惠公与自己是姬姓同族,应当守望相助,于是替晋惠公向秦穆公求情。