公元前632年(周襄公二十年),春秋时期晋楚之间进行了一场规模最大的战争——城濮之战。
城濮之战刚一开始,楚国的右军就与晋国的下军打了起来。刚杀了几个回合,晋军就招架不住,纷纷掉头逃跑。
楚国的右军由子上统帅。陈蔡两国的军队在前,楚国的军队在后。陈蔡的军队见晋军败退,都奋力向前追赶。正追赶间,就听得一声锣响,一队战车不知从哪里冲杀了出来,全都惊吓得乱跑乱跳,四处溃逃。那惊叫着的战马,带着战车往回狂奔,反将楚将门勃的后队给冲垮了。
这批埋伏的兵马,就是先轸凑近胥臣耳边密授的计策之一。古时军队本来照一般的规定,击鼓是进军,鸣锣是收军。先轸的伏军故意规定鸣锣为进军的信号,为的是给楚军制造混乱。胥臣见这批“猛虎”已将陈蔡的军队冲垮,门勃的后军也乱了阵脚,就率领众将乘乱冲杀了过去。只杀得人倒车翻,尸横遍地。门勃也被射中面颊,带箭逃跑。整个楚军的右师全线崩溃。
晋将栾枝义派遣土卒,假扮成陈蔡军的十兵,打着楚右军的旗号,向三军主帅成得臣报告说:“我右军已击垮敌阵下军,大获全胜。”成得臣听到报告,高兴地说:“不出我之所料。”他又亲自登上了望车观望,果然远远望见晋军溃逃,一路上尘土滚滚,遮天蔽日。于是立即下令。左军火速进兵追击。
楚将门宜申见对面阵中有一面大旗高高挑起,料想是晋军的主将,于是抖擞精神,驱动战车冲杀了过去。晋军中狐毛、狐偃赶紧上前接战。刚战了几个回合,见后面的军队乱哄哄地往回败走。狐偃、狐毛只好撇下门宜申,急忙回车便走。远远望见大旗也往后退,门宜申认为,晋军已全线溃败了,便指挥军队尽力追赶。
门宜申正追赶得起劲,忽听一声锣响,四面喊声大起。晋军主帅先轸和大将邵溱各引着一队精兵拦腰杀来,把楚军截成数段。狐毛、狐偃又掉转车头杀了回来,三下里合力夹攻。楚军的军队惊吓得四处溃逃。门宜申也被自己败逃的兵士冲得站不住脚,只得夺路逃跑。刚刚逃出重围,稍微松了一口气,又被一路伏兵截杀了一阵。门宜申把车仗、马匹、军械全部丢弃,混杂在步卒中,爬山逃跑了。
原来成得臣所看到的晋下军的败逃,是先轸事先布置好的。先让栾板的士卒砍下树枝,拴在战车的后面,打马来回飞跑,那树枝扬起遮天蔽日的尘土,骗得贪功冒进的楚军追赶。狐毛令士卒扛着假设的主帅旗往回撤,也是为了装扮成溃败的假相,引诱楚军上当深入。楚军完全按照先轸的设想,钻进张好的网里。先轸让祁瞒守住中军虚建的大旗,任凭楚军百般讨战,也不要出来应战。自己却率领精锐部队,偷偷地从后面出来,抄小路来阻击敌人的追军,当他从侧斜里突然冲杀出来时,楚军就全部乱了。
楚军的左右军几乎全军覆没,成得臣还不知道,对左右说:“估计此时晋军该全线溃败了。”他要最后出动,前去活捉重耳。于是举着胳膊高声喊道:“今天要是让晋军活着跑掉一个,我也不再回楚国!”
正在他耀武扬威不可一世时,先轸、邵溱的部队杀到了。两下里混战了多时,栾枝、胥臣、狐毛、狐偃的兵也杀到了。几路人马把成得臣团团围祝这时成得臣才知道他的左右两路军队全都溃败了。他再也无心恋战,急忙传令撤兵,无奈晋军围困得太厚,楚兵已被分割成十多块,首尾不能相顾,大部分士兵都作了晋军的俘虏。
成得臣的儿子成大心,才十五岁,有一身好武艺。这时他率领了五六百人,往来冲杀,左冲右突。以一当十,保护着他的父亲,杀开一条血路,逃了出去。小将杀出了重围,回头不见门越椒,又返回来杀人重围。那门越椒在万军中不见主帅成得臣,又在阵中往来寻找,正急得没法,恰好遇见小将成大心。成大心告诉他:“父帅就在前面,将军不可恋战,速速随我杀出!”门越椒和小将合在一处,齐心奋力,杀出重围,保护着成得臣逃了回去。
晋文公在有莘山上观战,见晋军大获全胜,忙派人告诉先轸:“只要把楚军赶走就行了,不要远追,也不要多杀伤1他是想给楚王留点面子,以便日后好联合。先轸已揣知晋文公的心思。就约束军队,不再追赶。
晋军这一仗,缴获楚军战车二百多辆,活捉楚兵一千多人。此外还缴获了大量辎重物资。
成得臣和儿子成大心等逃回本寨,见营寨早已被先轸埋伏下的人袭取了,营中的粮草、军械全都归晋国所有。成得臣无处可去,只好引败残军队从后山逃走。刚走到空桑地方,忽听锣鼓齐鸣,一路大军拦住去路。旗上大写着一个“魏”字。是先轸预先让魏隼埋伏在这里。在楚人的眼里,魏隼比老虎还要凶猛十倍,今天这些败兵残将来到这里,一听说他的名字,个个丧胆,望风而逃。可是魏隼的伏军尽起,把楚军退路堵得水泄不通,哪里逃得过去!楚军正在绝望的时候,晋文公派人来传达命令:“放楚兵楚将生还本国,以报当年楚王的恩德。”魏隼这才住了手,用刀一指,大声喝道:“既然主公有令,就饶你们去吧!”
随着魏隼的喊声,晋军分别走向两边,让出一条道路,成得臣等这才逃了过去。