晋文公姓姬,名重耳,是春秋战国时期晋国第二十二任君主,是春秋时期五霸中与齐桓公并称齐桓晋文的第二位霸主,晋文公初为公子谦虚好学,结交很多有才能的人。然而深受晋献公宠爱的骊姬想要自己的儿子成为太子,因此陷害太子申生,申生无奈上吊自尽。骊姬又开始诬陷重耳和夷吾,得知消息后重耳和夷吾逃走。晋献公因重耳与夷吾不辞而别认定他们有阴谋而大怒,于是就派公使勃鞮去讨伐,重耳便又逃到了母亲的故国翟国。这一去就是十九年。
直到公元前636年春在秦穆公的支持下杀晋怀公而立。晋文公在位时对内实行通商宽农,任用贤明良才等政策,使晋国国力迅速增长。对外与秦国、齐国结盟伐曹攻卫救宋服郑,平定周室之乱。公元前632年于城濮击溃楚军,并与齐、宋等国会盟,成为春秋时期的第二位霸主,自此晋国开始了长达百年的霸业。
公元前637年晋惠公薨逝,太子圉继位为晋怀公。晋怀公害怕秦国讨伐便下令跟随重耳逃亡的人都要按期回到晋国,逾期者灭族,因为狐偃与狐毛跟着重耳没有回国,晋怀公便杀死了重耳的外公狐突。后来晋国大夫栾枝等人得知重耳在秦国,便暗中来劝说作内应的人很多让重耳回到晋国,于是秦穆公派人护送重耳回晋国,而晋怀公听说后便派出军队抵抗秦军,可是将士们知道重耳回来却都不愿意抵抗,只有晋惠公的旧大臣不愿让重耳回国即位。
公元前636年秦国将重耳护送到黄河岸边,狐偃面对即将登上大位的重耳请求离去,重耳将璧玉扔到黄河中请河伯作证并与狐偃明誓。那时介子推也是随从不愿与狐偃同列便隐渡黄河。秦军包围令狐而晋军驻扎在庐柳,狐偃与秦晋大夫结盟,重耳进入晋军中。丙午日重耳到达曲沃,丁未日重耳到武宫朝拜即位为晋文公。大臣们都前往曲沃朝拜。戊申日重耳派人杀死了逃到了高梁的晋怀公。而晋怀公的旧部吕省、郤芮意图放火烧死重耳被勃鞮告密,吕省、郤芮被秦穆公诱逃到黄河边杀死。
公元前632年,楚将子玉派宛春与晋交涉子玉一石二鸟之策,晋大夫狐偃说不能答应,先轸则识破了子玉的计谋说:安定人心叫做礼,楚国一句话就安定了三个国家,您一句话灭了它们,我们才是无礼了。不答应楚国就是放弃宋国,我们私下里答应恢复曹国、卫国引诱楚国,然后用扣留宛春来激怒楚国,再根据战争胜负的情况再用计谋。
晋文公一面暗许曹、卫复国,不能告知不可与楚国结交,一面扣留楚使臣来激怒子玉。楚将子玉很生气带军北上攻打晋军进逼陶丘,晋文公为疲敝楚军诱使子玉轻敌深入,以便在预定战场与楚决战,楚国军官问为何退兵?狐偃说:过去我们在楚国时立约交战时退避三舍。晋文公退避三舍是报答以前楚成王给予的礼遇,也是诱敌深入。楚军见晋军害怕后退便马上追击,晋军就是利用楚军轻敌的弱点,集中兵力大破楚军城濮之战取得了的胜利。