夷吾实在无奈,便厚着脸皮派大夫庆郑向秦国乞求购买粮食。夷吾此前背信弃义,不曾想到秦穆公却很大度地答应卖粮给晋国解救饥荒。秦穆公与他的“智囊团”的用意很明确:用粮食收买晋国人心,以图人心归秦!为把这次跨国救灾义举弄得声势浩大,秦穆公专发诏命,征集车辆、马匹、船只,满载粮食护送至晋国首都。当时,秦国的运粮船队从秦国雍都到晋国绛都,塞满河道,绵延数百里。晋国百姓听说秦穆公送来了粮食,都十分感激。这次跨国救灾行动,史称“泛舟之役”。
正所谓世事难料,风水轮流转。第二年秦国渭河流域遭遇罕见大旱灾,发生全国性饥荒。而晋国却风调雨顺,庄稼大获丰收。秦穆公便遣使臣泠至向晋国借粮救荒。不料夷吾却幸灾乐祸,拒绝买给秦国粮食。夷吾的宠臣吕饴甥、隙芮等还丢下一句挑衅性的狠话:“要吃晋国粮食,除非秦兵来取。”
面对再度忘恩负义的夷吾,秦穆公决定派兵讨伐。他同宰相百里奚亲率三军兵马攻打晋国。秦军兵马虽少,但群情激愤,斗志高昂。晋军则背着恩将仇报的恶名,军心涣散。经过三次战役,晋军连吃败仗。公元前645年秋,秦晋两军在韩原决战。夷吾的“小驷马”陷入泥潭,便向正好经过的晋将庆郑求救,庆郑不愿救这无德之君,竟扬鞭策马弃之而去。决战以晋军大败而告终,秦军俘虏了夷吾及家仆等。
秦穆公原本想杀掉夷吾这个小人,但大将公孙枝则劝阻道:不如仍立他为君,让晋国归还河西五城,让晋太子圉在秦国做人质,使秦晋两国友好相处。秦穆公觉得很有道理,即命将夷吾严密看守。秦穆公夫人穆姬(即伯姬)是夷吾的同父异母姐姐,原本怨恨夷吾。原因是夷吾回晋继君位时,伯姬曾托付他善待庶母贾君并接回流亡在外的众公子,结果夷吾对贾君淫乱,又不接回众公子。但听说要杀掉这位无德的弟弟,还是于心不忍,便让人在后花园里垒一高台,台下堆积干柴,带着太子、公子与女儿穿上素衣以自焚胁迫秦穆公释放夷吾回国。于是,秦国放夷吾回晋,晋国割让河西五城,并把太子圉作为人质留在秦国。
秦穆公寻思着让做人质的晋太子圉回晋做国君,便将自己的女儿怀嬴嫁给他为妻,还把河东地区的土地归还晋国。这便是第二次“秦晋之好”,时间是公元前643年。五年后,太子圉听说其父病重,生怕被人抢走君位,便私下跟妻子怀嬴商量一同逃回晋国。怀嬴表示:不敢跟太子圉逃走,也不敢向人泄露此事。于是,太子圉便偷偷地逃回晋国。第二年晋惠公病故,太子圉继承君位,即晋怀公。晋怀公一上台,便宣布与秦国断绝来往,并命令不许跟随流亡在外的重耳。秦穆公大骂这个忘恩负义的女婿,同时四处寻找晋公子重耳的下落,欲扶植重耳取而代之。
晋献公的长子重耳自四十三岁那年逃亡后,四处漂泊流浪,其间还发生了著名的介子推“割股啖君”的故事。此时的重耳正被楚国收容,并成为楚成王的好朋友。很快,秦国大将公孙枝便来迎接重耳入秦,重耳拜别楚王后带着那一班谋臣跟公孙枝去了秦国。秦穆公见到重耳后热情款待,送给重耳五个女子,其中便有太子圉的原妻怀嬴。秦穆公为拉拢重耳,竟让女儿改嫁给重耳。于是,穆公之女再嫁年过六旬的重耳,成为后来晋文公的夫人(文嬴)。这便是不足二十年间的第三次“秦晋之好”。穆公之女先嫁公子圉,再嫁其伯父重耳,在当年似乎并不是件稀奇事儿。
公元前636年,秦穆公决定派兵护送重耳回晋国做国君。穆公亲率百里奚、公于絷、公孙枝等秦重臣领四百多兵车,将重耳送到黄河边后,分一半兵马送重耳过河,另一半则在对岸接应。在秦国的帮助下,重耳回到晋国做了国君,这就是晋文公。之后,重耳诛杀了出逃的晋怀公,粉碎了国内的叛乱。结束了晋国动荡不安的局面,并最终成为“春秋五霸”之一。重耳死后不久,秦穆公便伺机打败已成中原霸主的晋国,也成为“春秋五霸”之一。