晋文公即位后,励精图治,推动国家的发展,使晋国逐渐强大。他梦想成为齐桓公那样的霸主。周襄王因被弟弟太叔带夺取王位逃到郑国,请求各诸侯提供兵力讨伐狄人,但没有一个愿意出兵。
有人建议周襄王派使者向秦、晋两国求救,因为只有它们有能力打败狄人。周襄王遂派使者去请晋文公护送他回朝。晋文公迅速征集军队前往东部击败狄人,并杀死了太叔带和他的追随者,将天子护送回到洛邑。
不久,又有宋成公的儿子来求助,说楚国的大将成得臣率领楚、陈、蔡、郑、许五国联合攻打宋国。大臣们认为此时是帮助困难国家并建立霸业的好机会。然而,为了成为中原霸主,需要先打败楚国,所以晋文公扩充军队,在三个军中建立起三十六万人的力量,最终在归附于楚的曹和卫两个小国家之地击败了这些地区的人民,并俘虏了他们的君主。
当时,有些将士对这种退避三舍策略感到不解,但狐偃解释说这是因为初次交战时承诺要这样做,以及对楚王恩惠的一种回报。当两军相遇于城濮之战中,由于成得臣过于骄傲,不肯认输,他下令追击,而实际上这是陷入了埋伏。在假装撤退后转身一击,再次使用退避三舍策略,以取得决定性的胜利。
这场胜利让晋文公名声大增,被誉为立下大功的人物,同时也确立了他作为中原霸主的地位。在践土(今河南原阳西南),周襄王亲自慰劳晋军,并且在那里为天子建造了一座新宫,还与其他诸侯订立盟约,从而进一步巩固了他的权力。