鲁庄公十年时,齐桓公派大将鲍叔牙率兵进犯鲁国。鲁庄公听到齐军来了,很害怕。大臣施伯为他推荐了一位名叫曹刿的隐士,说此人能助鲁国一臂之力。这一天,施伯带曹刿去见鲁庄公。庄公问:“你有什么抵御齐军的好办法吗?”曹刿说:“战争的情况是变化莫测的,我不能轻易下结论。如果能给我一个随军参战的机会,我也许可以随机应变,克敌制胜。”庄公听后非常高兴,便任用曹刿做参谋,随军出征到了长勺。鲍叔牙看见鲁庄公出来应战,心里很轻视他,因为他以前在韩时曾打败过鲁庄公。于是他命令士兵一齐向鲁国的阵营冲击。庄公沉不住气了,也连忙下令擂鼓出击,却被曹刿制止了。
当齐军擂响第二通战鼓时,曹刿还是叫鲁庄公按兵不动。鲁军将士看到齐军的嚣张气焰,气得摩拳擦掌,但是没有主帅的命令,只好强忍若怒气继续等待。
齐军的第三次鼓声响了,轻敌的齐军兵士得意地杀了.过来。
曹刿这才对鲁庄公说:“是我们反攻的时候了。”
鲁军擂起了进军鼓,兵士如同猛虎下山般扑了过去,将齐军打得四散逃窜。
鲁庄公看到齐军败退,连忙下令追击,又被曹刿拉住了。只见他跳下战车,低下头观察齐军战车留下的车辙;接着,又上车爬到车杆子上,望了望敌方撤退的队形,才说:“请主公下令追击吧!”
鲁庄公一声令下,鲁军士兵个个勇猛,将齐军赶出鲁国国境。
鲁军得胜,班师回朝后,庄公回到宫里,先是赞扬了曹刿一番,接着就问:“头两皿齐军击鼓,你为什么不让我反击?”
曹刿说:“打仗这件事,全凭士气。对方擂第一通鼓的时候,士气最足;第二二通鼓,气就松了一些;到第三通鼓,气已经泄了。对方泄气的时候,我们的兵士却鼓足士气,哪有不打赢的道理?”
鲁庄公又问为什么不乘胜追击。曹刿说:“齐军虽然败退,但它有很多兵力,或许他们假装败退,设下圈套引我们上当,我们要防着点儿。后来我看到他的旗都倒了,车辙也乱了,才相信他们真是被打败了。所以才请您下令追击。”
鲁庄公这才恍然大悟,称赞曹刿想得周到。