晋文公即位后,励精图治,推动国家的发展,使晋国逐渐强大。他梦想成为齐桓公那样的霸主。周襄王因被弟弟太叔带夺取王位逃到郑国,请求各诸侯提供兵力讨伐狄人,但无人响应。
有人建议周襄王向秦、晋两国求助。周襄王派使者向晋文公求救。晋文公迅速出兵东征,将狄人击败并杀死了太叔带和他的党羽,再将天子护送回洛邑。
过了一段时间,宋成公请求救援,说楚军由成得臣率领的楚、陈、蔡、郑五国联军攻打宋国。大臣们认为这正是打击楚国扩张势力的良机,便支持晋文公开战。
在一次战斗中,晋军取得了胜利,并俘虏了曹、卫两小国的君主。当时楚成王本不愿与晋交战,但成得臣却坚持要继续作战,最终遭到了城濮之战的惨败。在这场战争中,狐偃以退避三舍为策略,让楚军深入追击,然后突然反转,与敌展开决战,最终大获全胜。此役后,虽然有部份将士质疑这一策略,但是最终证明这是一个明智而有效的决定,为之后建立霸业奠定了基础。