俗話說“先動手為強,後脫手遭殃”。在軍事上,“先發製人”也是一個首要的命題。早在《左傳》中便有“先人有奪人之心”的提法,先人也多誇大“兵貴先”、“寧我薄人,無人薄我”,意義都是主張爭奪作戰中的先機之利。但是,事情並不是絕對的。在必然前提下,“後發製人”也是軍事鬥爭的首要手腕,它與“先發製人”之間存在著辯證的同一。其本色便是主動防備,即以防備為手腕,以反攻為目標的守勢防備,它常常成為較弱一方克敵製勝的首要寶貝。”
晉文公於二十年初,率軍由棘津渡河,打擊附楚的曹、衛,詭計誘楚來援以解宋圍。正月占衛五鹿(河南清豐西北),仲春進至斂盂與齊昭公會盟,都城楚丘(河南滑縣東北)的衛人逐其君降晉。三月攻占曹都陶丘。但楚軍不受變更,反而抓緊圍攻商丘。宋向晉垂危,晉文公用先軫建議,操縱秦、齊“喜賄怒頑”的心機,應用交際策畫製造秦、齊與楚的衝突。一麵讓宋重賄秦、齊,請兩國出麵求楚退兵,一麵分曹、衛之地與宋,堅其抗楚決計。商丘未能攻陷,而曹、衛之地又被晉送於宋國,楚因此回絕退兵。秦、齊遂出兵助晉,構成三強結合對楚的計謀格式。
楚成王見情勢倒黴,恐秦乘機攻厥火線,退至申邑,並令圍攻商丘和緡邑以及占據穀邑的楚軍撤回。但圍攻商丘的主將子玉,高傲自大,堅請與晉一戰。楚成王決計擺盪,同意子玉建議,但又不肯儘力決鬥,僅派王室親兵600人聲援子玉。子玉派人與晉談判:如晉許曹、衛複國,楚即解宋之圍。晉國君臣以為情勢無益,但願決鬥,但恐不允子玉前提,將遭宋、曹、衛三國仇恨。因而一麵暗許曹、衛複國,勸其與楚斷交,一麵截留楚使臣以激憤子玉。子玉果怒而求戰,率軍進逼陶丘。晉文公為疲敝楚軍,誘使子玉輕敵深切,以便在預定疆場與楚決鬥。遂退避三舍,至城濮與秦、齊軍彙合。
城濮之戰的直接啟事是晉援宋拒楚。周襄王十八年,宋成公因為其父襄公當年善待過晉文公,與文私有舊友,遂""叛楚即晉""。冬,楚成王號令尹子玉、司馬子西率軍伐宋,包抄緡邑。次年冬,楚率陳、蔡、鄭、許五國軍隊包抄宋國,宋國向晉垂危。晉中軍元帥先軫說:""報施救患,取威定霸,因而乎在矣。""晉文公采取先軫建議,籌辦起兵救宋。他在被廬檢閱軍隊,擴編全軍,任命了將佐,從而拉開了城濮之戰的序幕。