公元前634年,鲁国因和曹、卫两国结盟,曾一度受到齐国的进攻,便向楚国请求援助。而被迫屈服于楚的宋国转而依附晋国。楚国为了不让自己在中原的优势地位受到动摇,便出兵攻打齐、宋;晋国以救宋为名,出兵中原。公元前632年,晋文公率军渡过黄河,攻打曹、卫小国,以诱楚军。楚军并没有因此受到影响,依然全力攻宋。晋文公施用“退避三舍”的妙计,最后双方在城濮展开了一场大规模的车战。楚军在实力上占有优势,但是由于晋军善于“伐谋”、“伐交”,并在战役指导上采取了扬长避短、后发制人的正确方针,最后终于将楚军击败,称霸中原。