城濮之战应该是中国历史上已知最早有详细记载的战例,也是诱敌深入战术的典范。
据记载此战为先轸所谋划。前632年,四月初四,楚军和晋军在城濮(今山东鄄城西南)交战。晋文公兑现当年流亡楚国许下“退避三舍”的诺言,令晋军后退,避楚军锋芒。子玉不顾楚成王告诫,率军冒进,被晋军歼灭两翼。楚军大败。
公元前632年,春秋时期,晋文公与楚成王为争夺中原霸权,晋军谋略制胜,在城濮(山东鄄城西南)大败楚军,开“兵者诡道也”先河的一次作战。4月,晋、楚两军为争夺中原地区霸权,在城濮(山东鄄城西南)交战。楚军居于优势,晋军处于劣势。晋国下军副将胥臣奉命迎战楚国联军的右军,即陈、蔡两国的军队。陈、蔡军队的战马多,来势凶猛。胥臣为了战胜敌人,造成自己强大的假象,以树上开花之计,用虎皮蒙马吓城濮之战城濮之战唬敌人。进攻时,晋军下军一匹匹蒙着虎皮的战马冲向敌阵,陈、蔡军队的战马和士卒以为是真老虎冲过来了,吓得纷纷后退。胥臣乘胜追击,打败了陈、蔡军队。
晋文公于周襄王二十年,即文公五年(公元前632年)初,率军由棘津(河南滑县西南)渡河,进攻附楚的曹、卫,企图诱楚来援以解宋围。正月占卫五鹿(河南清丰西北),二月进至敛盂(河南濮阳东南)与齐昭公会盟,都城楚丘(河南滑县东北)的卫人逐其君降晋。
三月攻占曹都陶丘(山东定陶西北)。但楚军不受调动,反而加紧围攻商丘。宋向晋告急,晋文公用先轸建议,利用秦、齐“喜贿怒顽”的心理,运用外交谋略制造秦、齐与楚的矛盾。一面让宋重贿秦、齐,请两国出面求楚退兵,一面分曹、卫之地与宋,坚其抗楚决心。商丘未能攻下,而曹、卫之地又被晋送于宋国,楚因而拒绝退兵。秦、齐遂出兵助晋,形成三强联合对楚的战略格局。
楚成王见形势不利,恐秦乘机攻其后方,退至申邑(河南荥阳西北),并令围攻商丘和缗邑以及占领谷邑的楚军撤回。但围攻商丘的主将子玉,骄傲自负,坚请与晋一战。楚成王决心动摇,同意子玉建议,但又不肯全力决战,仅派王室亲兵600人增援子玉。子玉派人与晋交涉:如晋许曹、卫复国,楚即解宋之围。晋国君臣认为形势有利,希望决战,但恐不允子玉条件,将遭宋、曹、卫三国仇恨。于是一面暗许曹、卫复国,劝其与楚绝交,一面扣留楚使臣以激怒子玉。子玉果怒而求战,率军进逼陶丘。晋文公为疲敝楚军,诱使子玉轻敌深入,以便在预定战场与楚决战。遂退避三舍(在古代一舍为30里,三舍为90里),至城濮与秦、齐军城濮之战城濮之战会合。
四月初一,楚军进至城濮,初二,双方对阵。晋军在秦、齐军声援下配置为上、中、下三军;楚军以陈、蔡军为右军,申、息两军为左军,主力精锐为中军。晋统帅先轸下令首先击溃较弱的楚右军;并让晋上军佯退,于阵后拖柴扬尘,制造后军已退的假象,以诱楚左军进击,使其暴露侧翼,尔后回军与中军实施合击,又将楚左军击溃。子玉及时收住兵力,方免于中军败溃。楚军退至连谷(河南西华境)时,子玉自杀。此战,晋文公及先轸等,决战前充分运用外交谋略,是由实力制胜向谋略制胜的转折点;决战中,晋军先弱后强,各个击破,示利诱敌,在战术上也有所发展。