公元前632年,晋楚爆发了城濮之战。楚国攻打背叛自己的宋国,宋国宋成公向晋国的晋文公求救。由于宋成公的父亲曾有恩于晋文公,现在又逢晋楚争霸,晋文公答应援救宋国。晋文公听从先轸之言,以攻打曹卫为主线,侧面分散楚军实力,减轻宋国的压力。曹卫不敌晋国,曹国的国君甚至被晋军抓住,如今只能听从晋国的命令。
楚成王见宋国在晋国的帮助下,成功拉拢到了秦国和齐国两大助力,形势对楚军十分不利,于是他决定收兵回国。这次带领楚军的是楚国的权贵之族若敖氏,子玉、子上、子西都是军中的主要将领,他们若敖氏在楚国地位很高,这一次他们竟然不听从楚成王的命令,依然对宋国进行剿灭,由此造成了楚军不得不和晋、秦、齐三国势力对抗的恶劣局面。
子玉先派了使臣向晋文公求和,以宋、曹、卫三国的安危来威胁晋文公答应放过曹卫两国,他楚军便放过宋国。晋文公不吃这一套,表面上答应了,暗地里却已经和曹卫两国达成协议,曹卫叛楚而归晋。子玉见曹卫叛变,大怒,终于忍不住直攻晋军大营。这时候,晋文公不但不下令迎敌,反而要求晋军撤退。最后晋军一共撤退了90里,文公也算是兑现了当年受楚成王之恩后所许诺的“退避三舍”的诺言。子玉追到了城濮,要和晋国大战一场。他先是请子上去向晋文公传递了一封请求大战的请战书,语气很是不屑:“听闻晋军将士们勇猛,今天我子玉就想来讨教讨教,晋文公应该不会不答应的吗?毕竟只是玩玩而已,我下手不会太重的,您就在一边观看就可以了,您觉得怎么样?”
子玉递交的这一封请战书让晋营上下都分外气愤,这世上怎么会有这么骄傲的人呢,还敢来对晋军嚣张。晋文公手下的栾枝很擅长这种舞文弄墨的东西,他笔锋一动,写到:“我们国君已经听到您的命令了,当初楚成王有恩于我们国君,就算如今追赶我们的只是楚国的一个令尹,我们国君也要兑现诺言,才退兵到了这里,怎敢和楚王作对呀!既然楚国要求一战,那么我们听从便是了,也请您告诉楚军们好好执行楚王的命令,明天一大早我们再见吧!”栾枝的话有理有据,将晋国置于一个守信重诺的地位,如今是因为被楚国要求一战才不得已攻打楚国的,要是最后楚国败了,晋国也不算是白眼狼。子玉见信以后很生气,晋国这些老狐狸真的太狡猾了,不过他有信心打败他们。
子玉率领中军,为若敖氏亲兵;子西率领左军,为楚国的正规军;子上率领下军,为陈、蔡以及其他楚国盟国之兵。晋军分为了上、中、下三军,其中下军攻击楚国右军,时间一久这支右军就开始溃败。于是栾枝带领着一支下军开始向上军赶去,并和上军一起攻打楚军左军。子西是一个勇猛的将领,他带领的又是真正的楚国士兵们,所以不好打败,他们第一次进攻失败了。栾枝想出了一个办法,他命令士兵们在战车的尾部绑上柴草,当晋军和楚军交战的时候,晋军们假装撤退,并将绑有柴草的战车跑在前方,后面掀起一大片的尘土,让子西以为晋军败势已经显露,引诱子西带兵追赶。栾枝的队伍和上军队伍重新会合以后,晋将先轸则率领中军前来截断这支孤军深入的楚军,子西被围攻,伤亡惨重。此时的子玉所领导的中军还没有出动,但他看到了左右两军都已经失败,知道自己这一仗必输无疑,为了保存若敖氏的有生力量,他没有让中军进入战斗,而是带领逃出来的子西和子上回国了。
在这次大战中,栾枝能够机智的想到用柴草所掀起来的尘土迷惑楚军,诱敌深入晋军,实则行包围歼灭之实。能想到这种办法的,一定要足够琢磨到敌方将领的心思才行,说明栾枝不止是文墨功夫了得,对于人的性格也能看得明白。在晋文公的称霸大业中,栾枝以及先轸、狐偃等将士们立下了很多功劳,是文公不可多得的帮手。