晋献公临死之前,将骊姬的儿子奚齐立为太子,并将太子托付给大夫荀息。奚齐继位以后不能服众,大夫里克便联络了一众大臣杀死了奚齐,于是荀息又立了骊姬妹妹的儿子卓子继位,这次里克不仅杀死了卓子,连荀息也一并杀死。
杀死了奚齐、卓子之后,里克等人派人到狄国去迎接流亡的公子重耳回国继位。重耳却认为此时局势未定,而狄国也没有足够的实力作为自己回国继位的后盾,于是婉言拒绝里克说“我违背了父亲的命令,逃出了晋国,父亲去世也不能以人子之礼回国奔丧,现在我又有何面目回国呢?请里克大夫迎立其他的公子吧。”
使者回去将重耳的话报告给里克,于是里克就到梁国去迎接公子夷吾回国。公子夷吾很高兴,打算回晋国继位,但是他身边的大臣却劝他说“国内尚有公子可以立为国君,里克却到国外找人继位,其中必定有诈。如今秦国强大,在边疆国家中威望卓著,不如请秦国派兵护送我们回国。”
于是公子夷吾便派人带着厚礼入秦,请求秦穆公派兵护送自己回晋国,并向秦穆公承诺“诚得立,请割晋之河西八城与秦。”同时又写信给里克许诺“诚得立,请遂封子于汾阳之邑。”秦穆公听了公子夷吾的条件,觉得很值得,便欣然派兵将公子夷吾送回了秦国,而里克得到了赐予封邑的承诺,也就真心地迎立公子夷吾。在秦国、齐国、晋国三方势力的平衡下,公子夷吾顺利地在晋国即位,是为晋惠公。
但是晋惠公即位之后却过河拆桥,不仅不给里克封邑,反而削他的权力,后来担心里克会勾结流亡在外的公子重耳夺位,干脆杀掉了里克。同时他也不肯按照之前的约定将河西八城划给秦国,于是派大夫邳郑出使秦国,向秦穆公道歉“当初国君将河西之地许给您,现在他有幸得立,本想如约践诺。但是大臣们反对说晋国的土地是先代国君留下来的,国君流亡在外,岂可擅自许给秦国?国君争辩不过,只得派我来谢罪,不能将土地划给秦国了。”
邳郑本是里克的党羽,他出使秦国时听说了晋惠公杀掉里克的消息,一方面为自己逃过一劫而庆幸,一方面又担心自己回国以后会遭遇不测,于是便想借秦国之手翦除晋惠公羽翼,除掉他的心腹大臣吕甥、郤芮。邳郑找到秦穆公说“晋国之人其实不想迎立公子夷吾,而是希望公子重耳回国做国君,夷吾能够即位都是秦国的庇护。现在他违背与秦国的约定,又杀死里克,这都是奸臣吕甥、郤芮的阴谋。您不如用高官厚禄引诱吕甥、郤芮到秦国来,到时候夷吾失去了左右手,您自然可以再扶助重耳回晋国即位。”
秦穆公本就对晋惠公食言而肥的行径深为不满,也看出了晋惠公统治的晋国不会亲近秦国,此时听了邳郑所言觉得有理,果然派人与邳郑一同回国,邀请吕甥、郤芮到秦国来。不过吕甥、郤芮敏锐地觉察到其中有诈,没有轻易上当,他们怀疑邳郑有问题,便请晋惠公杀了他。邳郑的儿子邳豹逃到了秦国,请秦穆公发兵攻打晋国,秦穆公知道邳豹只是想为父报仇,并没有答应他,只是暗地里将他收留在秦国。
不久以后,晋国遇到大旱,派人来秦国借粮。邳豹劝秦穆公不要借粮食给晋国,可以趁此机会讨伐晋国。但是百里奚指出百姓无辜,不应因晋惠公的无礼得罪而让晋国百姓无粮食可吃,于是秦穆公便决定借粮给晋国。几年以后,秦国也遇到了饥荒,向晋国借粮。谁知晋国不仅不借粮,反而趁秦国的危机兴兵进犯,秦穆公一怒之下任命邳豹为将军,并且亲自带兵前去还击。
秦穆公与晋惠公的军队在韩地遭遇,晋惠公身先士卒,冲在战阵前列与秦国征战,谁知回来的时候马却陷入了泥坑中。秦穆公见此天赐良机赶快带领随从护卫追来抓晋惠公,可是为时已晚,反而被晋军围困。多亏了三百名忠于秦穆公的勇士拼死杀入重围,不仅救了秦穆公,还俘虏了晋惠公。
秦穆公带着晋惠公回国,并且一路上宣称要用晋惠公来做祭祀上天的祭品。周天子听说了这件事觉得很不安,认为晋惠公与自己是姬姓同族,应当守望相助,于是替晋惠公向秦穆公求情。
秦穆公的妻子穆姬是晋献公的女儿、晋惠公的姐姐,她听说丈夫俘虏了弟弟,还要押送回国做祭品,心中十分忧虑。于是穆姬破釜沉舟,带了太子罃弘与女儿简璧一双儿女登上高台,脚下铺满薪柴。又派人穿着丧服去迎接秦穆公,告诉他“上天降灾,使秦晋两国不得不兵戎相见,如果您将晋国国君带回秦国,那么我只能自杀以谢,请您决定吧。”
秦穆公本来深恨晋惠公,不愿意轻易放他回国,但是周天子竟然亲自派人为他说情,夫人又以死相挟,心下很是为难。有大臣劝秦穆公说“俘虏了晋国的国君只有以礼厚待,风风光光地将他送回去,才能对秦国有好处,如果杀了他,那么对我们又有什么好处呢?”又有人反对,认为晋惠公不讲信义,放他回去还是会成为秦国的祸患。最后子桑说“我们现在无力灭掉晋国,如果随意杀死其国君,只能使两国的仇恨加深,相互交恶。为今之计不如将晋国国君放回去,让他们的太子来秦国做质子。”秦穆公同意了。
晋惠公经过这次风波,再也不敢违背对秦国的约定,回国以后赶快将太子圉送到秦国做质子,而且也不敢再对秦国轻易启衅了。
由于晋惠公与其子晋怀公双双背叛秦国,秦穆公便扶立了流亡在外的重耳回国即位为晋文公。在秦国的支持下,晋文公不仅顺利地即位,而且实行一系列利国利民的政策,在晋文公的治理之下,晋国得到了很快的发展,而晋文公也成为了齐桓公之后的第二位霸主,得到了周天子的承认和各国诸侯的服从。
鲁僖公二十九年(公元前631年),晋文公打算出兵攻打不服从晋国的郑国,于是派大夫狐偃会和周天子派来的王子虎、宋国大夫公孙固、齐国大夫归父、陈国大夫辕涛涂和秦国大夫小子愁在翟泉会盟,共同商议讨伐郑国之事。会上决定先由晋队于第二年单独出兵攻郑试探情况,于是晋文公便派出军队驻扎在函陵,又邀请秦穆公一起出兵围攻郑国,秦穆公果然应邀派军,将秦军驻扎在氾南。