晋文公名叫重耳,是晋献公的儿子。晋献公因为宠爱骊姬,就把她立为皇后。骊姬为了让自己的孩子继承国君的位置,害死了太子。晋献公的另外两个儿子重耳和夷吾也不得不跑到别的国家去逃难。
《春秋》书影不久,晋献公死了,夷吾在秦穆公的帮助下回国当上了国君,就是晋惠公。晋惠公怕重耳想争夺国君的位置,仍然不许重耳回国,并派出刺客企图刺杀重耳。于是,重耳就带着一些有文武才能的人,开始了他的流亡生活。
重耳在外流亡19年,辗转了8个国家。在很多国家,重耳都受到了热情的招待。在楚国,楚成王用招待国君的礼节招待重耳。重耳为了表达自己的感激之情,就对楚成王说:“如果我能够回到晋国,一定与楚国和睦相处。将来万一打起仗来,我也会命令晋军退避三舍,来报答您的恩情。”重耳和他手下的大臣们在长期的流亡生活中磨练了意志,增长了见识,增强了政治才干。
公元前636年,秦穆公派兵护送重耳回到晋国。重耳杀死了当时在位的晋怀公后,做了国君,就是晋文公。
晋文公即位后,凭借他的机智、勇敢、宽厚,很快就赢得了民心,晋国的国力也强盛了起来。
晋文公把国内治理好了,就想向中原地区扩张。这时,南方的楚国也强大了起来,想要在中原称霸。晋楚两国发生了尖锐的矛盾。
公元前634年,楚国出兵攻打宋国,宋成公派人到晋国请求援救。晋文公就出兵讨伐依附楚国的曹国和卫国,企图孤立楚国。但是,楚国仍然围住宋国不放,晋国又设离间计,把齐、秦两国也拉到自己这一边来,取得了战略主动权。
公元前632年,晋楚两国在城濮开战。两军刚一交手,晋军就假装败退。他们这样一方面是表示遵守当年晋文公“退避三舍”的承诺,向楚王表示谢意;另一方面有意以退为进,疲惫敌军,选择有利时机和地势同楚军决战。楚军见晋军退避,果然以为晋文公不敢和楚国打仗,十分轻敌,结果被晋军打得大败。
城濮之战结束后,晋文公把作战所获战俘和战利品全都献给了周天子,周天子就封晋文公为侯伯(诸侯首领),并赐给他侯伯才会享有的礼遇。晋文公趁机召集诸侯,举行会盟,当上了霸主。