晋军方面,晋厉公在苗贲皇的陪同下,登高视察楚军布阵。苗贲皇原为楚国权臣斗椒之子,因楚庄王平定若敖氏叛乱而逃至晋国,受封苗邑。由于他深谙楚军内部状况,指出楚军核心力量在于中军的王族精锐,而左、右两军分别由郑军与蛮族兵马构成,军纪和阵形均不够严整。据此,苗贲皇向晋厉公提出了针对性的战术建议,即调整晋军阵型,佯装中军虚弱,引诱楚左、右军攻击中军,然后调动上、下军精锐夹击,形成包围态势以消灭楚军。晋厉公接纳了这一策略,并据此修订了作战计划,命令中军主副将各自带领一部分精兵加强左右两翼。
按照新的部署,晋军冲出营寨,绕过前方泥沼两侧,对楚军发起猛烈攻击。楚共王果真落入圈套,认定晋中军实力不足,遂率楚中军直扑晋军中路。激战之中,晋将魏锜射伤楚共王眼部,楚共王命神射手养由基反击,养由基一箭射杀魏锜,并携另一箭回报楚共王。尽管楚共王负伤,但他依然强忍痛苦,坚持在前线指挥战斗。
双方从清晨激战至黄昏,仍未分出胜负,楚军伤亡严重。楚共王决定暂时收兵,让士兵休整后再战。楚将子反在军中巡查伤员,整顿jūn_duì ,预备次日再战。
晋军方面,苗贲皇布置jūn_duì 准备次日再战,并特意释放部分楚国俘虏返回楚营,传递晋军备战的信息。楚共王得知晋军将继续交锋后,紧急召见主帅子反商议对策,却发现子反因饮酒过量而无法参与决策。面对如此窘境,楚共王无奈之下只得选择带领jūn_duì 连夜撤退。尽管楚军在鄢陵之战中遭遇挫折,但并未彻底落败,然而中军主帅司马子反因临阵酗酒贻误战机,致使楚共王被迫退兵。楚军撤至瑕地时,子反在子重的压力下自尽谢罪。
鄢陵之战作为晋楚争霸历史上的第三大战役,同时也是两国最后一次大规模正面交锋,最终以楚共王黯然撤退告终。此战过后,楚国对中原的霸权显着衰弱,而晋国虽进一步稳固霸业,但从战斗全程看,鲁、卫两国始终未曾派遣援军,唯有齐国在晋军结束战斗返程时才姗姗来迟,显示晋国对中原诸侯的掌控力已有所下降。