鲁庄公十年春天,齐借口鲁国曾帮助公子纠争夺齐国君位,再次兴兵攻鲁,两军战于长勺春秋时代,齐国是个大国,鲁国是个中等国,齐强鲁弱,齐大鲁小。齐鲁两国都在现在的山东省境内,齐在北,鲁在南。在齐鲁两国之间,靠近黄海,还有一个小国叫做莒国。齐国有个国君叫齐襄公,荒淫无道。他的两个弟弟逃到国外避难,公子小白逃到莒国,公子纠逃到鲁国。鲁庄公八年和九年,齐国两个国君齐襄公和公孙毋知相继被杀,国内无君。这时鲁国派兵护送公子纠,莒国也派兵护送公子小白赶回齐国。结果是小白抢先回到齐国,做了国君,他就是齐桓公(春秋时有名的五霸之长)。他立即出兵打败鲁军,并迫使鲁国杀死同他争夺君位的公子纠。但齐桓公还不甘心,第二年,即鲁庄公十年,又出兵攻打鲁国。
鲁应公听说齐军大举进犯,决定发动全国的力量,与齐军决一死战。当这个国家面临危难难,就在鲁庄公准备出兵应战的时候,一直在隐居的曹刿想要请求见鲁庄公。曹刿同乡的人问他:“关于国家打仗的问题,应该是当权者考虑的,他们自会作出决定,不关咱们的事,你又何必参与呢。”曹刿认为当政者庸碌无能,缺乏谋略,为了避免自己的国家遭受齐军的欺凌,他就请求进见鲁应公,而鲁庄公恰好也算不上昏庸,见了曹刿,曹刿请求参与战事,曹刿向鲁庄公问:鲁国凭借什么与齐国作战?鲁庄公说:“对于衣物、食品这类维持生活的东西,我总要分赐给臣下,不敢一个人独享。”曹刿说:“这不过是小恩小惠,没有惠及全国,人民是不会尽力作战的,有句老话说的是得民心者得天下。”鲁庄公又说:“我的对神明是非常虔诚的,祭天地的祭品从来不敢虚报。”曹刿又说;“对神明守小信,不一定能感动神明,神明也不会因此降福的。”鲁应公想了一下,又说:“我对待民间的大小狱讼案件,虽然做不到明察秋毫,但是必定亲自按律处理,且处理严明。”曹刿这时才说;“为百姓办事,这才算尽到了君主的职责,凭这一点可以与齐国决一胜负了。”曹刿又请求陪同鲁庄公一起奔赴战场,鲁应公开心的答应了他的请求,让他与自己同乘一辆车赶奔长勺指挥战争。齐鲁两军在长勺摆开了决战的阵势。气氛十分的严峻,每个人的心里都十分的紧张。在鲁庄公准备下令擂鼓进军,以先发制人时,曹刿连忙阻拦,并且建议鲁庄公坚守阵地,伺机而动。鲁应公思考了一下,接受了他的建议,暂时按兵不动。而此时齐国的军队求胜心切,凭借自己兵力上的优势,首先向鲁军发起进攻。他们接连三次擂鼓出击,但是都在鲁军严密防守之下被挫败,不但没有达到先发制人的目的,反而使自已的军队斗志沮丧,丧失信心。曹刿这时见时机成熟,就马上建议鲁庄公派出军队反击。于是鲁庄公传令鲁军进行反攻。鲁军凭借着刚才击退了齐军后高昂的士气,一鼓作气,立刻冲向想要退军的敌人,一下子冲垮了齐军的车阵,两军进行交战,鲁军大败了齐军。鲁庄公见齐军败退,就想下令追击,可是又被曹刿所阻拦。曹刿下车,在地上仔细察看,发现齐军车辙紊乱;然后又登车远望,看到齐军的旗帜东倒西歪,他由此判断出齐军的溃败不伪装的,这才让鲁庄公趁势追击。这样,鲁军进一步重创齐军,把他们赶出了鲁国国境,长勺之战以鲁军的胜利而告终。战后,鲁庄公询问鲁军取胜的原因。曹刿答道:“打仗所凭恃的就是勇气。第一次击鼓冲锋时,士气最旺;第二次击鼓,士气就有所衰退了;到了第三次击鼓,士气就完全消退了,齐军冲锋三次,士气已经耗尽,雨我军士气正旺,这时反击,自然可以一举打败齐军。”接着曹刿又解释了没有立即发起追击的原因:齐国毕竟是个大国,实力不可小视,因此要特别防范战术问题,防止他们假装失败,以免鲁军遭遇到齐军的埋伏,而导致前功尽弃,所以要分外小心。后来看齐军的车辙紊乱,旌旗歪倒,这才敢建议国君您派人去实施追击。曹刿的一番话使鲁庄公心悦诚服。