公元前686年到公元685前年之間,齊國國君襄公的弟弟公子小白和公子糾因為戰亂而相繼離開了齊,公子小白投奔到莒國,公子糾出奔到魯國。

周莊王九年(公元前685年),公孫無知殺死了齊襄公,奪了君位。這之後不久,公孫無知也被殺死,一時間國家沒有君主。公子小白和公子糾得知這一消息之後,就想回到齊國做國君,公子小白從近路趕回齊國,他比公子糾先到達,所以他當上了齊國的國君,這就是曆史上赫赫有名的齊桓公。

公子糾回國途中,魯國派了許多人護送他,但是他耽擱了時間,所以比公子小白後到,國君沒有做成。

齊桓公當政以後,想通過武力向國內外證明自己的能耐,又由於嫉恨魯國曾經幫助過公子糾,就出兵攻打魯國,公元前684年,齊桓公命鮑叔牙率大軍直逼魯國。路上,齊國的軍隊所向披靡,將魯國的地方軍打得一敗塗地,齊軍很快攻到魯國的長勺(今山東曲阜縣北)。齊國和魯國在長勺這個地方打了一仗,這就是有名的齊魯長勺之戰。

齊國當時已經是非常強大的國家,而魯國卻是一般的小國家,國力較弱,魯莊公覺得齊國正是看到魯國比齊弱,所以欺負他們,便召集百官商量對策。大夫施伯向他推薦一人,此人姓曹名劌,深通謀略,是個很有抱負的人。魯莊公正值燃眉之急,於是魯莊公派施伯去請曹劌,幫助破敵。曹劌見了魯莊公,就直接向莊公提出自己所擔心的問題,問莊公是不是有對付齊軍的良策,莊公說靠的是魯國上下一條心。曹劌從莊公口中得知他在各方麵都比較順應民意,便告訴莊公,若是這樣,老百姓會為魯國戰鬥的。

曹劌看到了戰前莊公政治方麵準備比較充分了,又考慮到戰術問題,他請求魯莊公允許他去前方參戰,魯莊公覺得這人的確有計謀,就同意了,並和他同乘一輛車子向戰場進發。

齊魯兩軍在長勺擺開戰場,雙方人馬排列成陣,戰旗隨風飄揚,魯國的士兵們手握武器,戰馬也在陣前緊張得踏著碎步,陣上保持著可怕的寧靜。而齊軍陣前卻是另外一番景觀,齊軍仗著自己人數多,戰將們傲視一切,神采飛揚,根本不把魯軍放在眼中。

魯莊公看到齊軍驕縱的樣子,非常氣憤,就想命令將士們擊鼓進攻,曹劌看不是時機,連忙阻止。

齊軍擊鼓進攻,向魯軍陣中奔來,可是魯軍卻待而不發,軍中陣形排列有序,齊軍不知道這什麼回事,也不敢輕易出擊,一陣鼓噪後,又停下了陣腳。當齊軍觀察魯軍沒有絲毫要出擊的樣子,就又擂了第二通鼓,將士們再次衝鋒向前,衝出沒多遠,發現魯軍一點害怕的樣子都沒有,隻得再次退兵。

魯國的將士們絲毫沒動,可齊國的將士卻一個個緊張得要命,身上的肌肉繃得緊緊的,而心裏卻更加疑惑。齊軍的主帥這時真不知到底是進攻,還是後退。後又想到:既然齊國這樣強大,又有什麼害怕呢?過了一陣又擂起了鼓,齊軍發動了第三次進攻。

而魯國將士真是以逸待勞,齊國的將士累得要命,魯國的將士卻非常輕鬆,他們一個個鬥誌昂揚,個個憋足了勁,緊緊地握著手中的武器,隻等主帥一聲令下,他們就會全線出擊。當齊國第三次向他們進攻時,他們一開始還是按兵不動,當齊兵正在疑惑之際,曹劌說:“大王,我們進攻的時間到了,現在你發令吧。”

頓時間,魯軍一起進發,鼓聲震天,魯軍像猛虎一樣撲向了齊軍,齊軍根本沒有想到魯軍會突然出擊,他們一個個疲勞不堪,當魯軍殺過來的時候,他們一個個丟盔卸甲,沒打幾個回合,就敗下陣去,魯軍乘勝追擊,齊軍潰不成軍。成語“一鼓作氣”便是從此而來的。齊軍狼狽逃竄,魯莊公就要命令士兵追擊,曹劌急忙阻攔道;“不要追,不要追。”他下了馬車,仔細觀察敵人敗退時車輪的印跡和戰馬的足痕,發現混亂得很,就說:“現在可以追趕了。”

魯莊公追擊的命令一下,士兵們個個奮勇爭先,一股作氣,就把齊軍趕出了魯國的土地。長勺一戰,魯軍取得了決定性的勝利,而取勝的關鍵就是有曹劌給軍隊出謀劃策,後來的閑談中,魯莊公就問曹劌為什麼在齊軍擊兩通鼓時,還不讓將士們去迎擊。

曹劌回答得很從容:“打仗這件事,完全憑著一股士氣,當雙方準備拚鬥之時,都處於最佳戰鬥狀態,敵方第一通擊鼓,這時他們的士氣也最足;當第二通鼓打響時,他們的將士有點泄氣了;等到第三通鼓時,將士們的氣幾乎泄完了,在這樣的情況下,我軍去迎擊,他們的氣泄完,而我們的氣正足著呢,這哪裏有不勝之理?齊國雖然敗退了,但是齊國是一個大國,我怕他們有埋伏,誘使我們去追擊,所以我下車去看看他們的車轍,我看到他們的車轍已經是雜亂無章,站到車子上一看,見他們的戰旗也東倒西歪的,所以我斷定他們是真正的敗逃,這樣我才建議你命令將士追擊,把他們徹底趕出我們的國境。”

魯莊公本來就對曹劌的指揮才能讚歎不已,於是拜曹劌為大夫,管理魯國的軍事。