齊桓公拜管仲為相國的信兒傳到了魯國,魯莊公氣得直翻白眼。他說:「我當初真不該不聽施伯的話,把他放了。什麼射過小白,要親手殺他才出氣。他們原來把我當作木頭人兒,捏在手裡隨便玩兒,隨便欺負,壓根兒就沒把魯國放在他們的眼裡。照這麼下去,魯國還保得住嗎?」他就開始練兵,造兵器,打算報仇。齊桓公聽了,想先下手,就要打到魯國去。管仲攔著他,說:「主公才即位,本國還沒安定下來,可不能在這會兒去打人家。」齊桓公正因為剛即位,想出風頭,顯出他真比公子糾強得多,也好叫大臣們服他,叫公子糾在地底下不敢怨他,要是依著管仲先把政治,軍隊,生產一件件都辦好了,那還不知道要等到什麼時候。他就叫鮑叔牙當大將帶領大軍,一直打到魯國的長勺去。
魯莊公氣了個半死,臉紅脖子粗地說:「齊國欺負咱們太過分了!施伯,你瞧咱們是非得拼一下子不可吧?」施伯說:「我推薦一個人,準能對付齊國。」魯莊公急著問他:「誰呀?」施伯說:「這人叫曹劌[gui四聲],挺有能耐,文的武的都行。要是咱們真心去請他,他也許能出來。」魯莊公就叫施伯快請去。
施伯見了曹劌,把本國給人欺負的事說明白了,又拿話激他,想叫他出來給本國出點力氣。曹劌笑著說:「怎麼?你們做大官吃大肉的還要跟我們吃苦菜的小百姓商量大事嗎?」施伯陪著笑臉說:「好兄弟,別這麼說了。」他一死兒央告,怎麼也得求曹劌幫助國君過了這道難關。曹劌就跟著他去見魯莊公。魯莊公問他怎麼打退齊國人。他說:「那可說不定。打仗是個活事兒,要隨機應變,沒有什麼不變的死法子。」魯莊公相信他有本事,就同他帶著大軍上長勺去。
到了長勺,擺下陣勢,遠遠地對著齊國的兵營。兩國軍隊的中間隔著一片平地好像是一條干了的大河,兩邊的軍隊好像是挺高的河堤。哪一邊都能往中間倒下,什麼時候都能把這河道填滿。鮑叔牙上回打贏了,知道對面不能先動手,就下令打過去。魯莊公一聽見對面的鼓聲響得跟打雷似地,就叫這邊也打鼓。曹劌攔住他,說:「等等。他們打贏了一回,這會兒正在興頭上。咱們出去,正合了他們的心意,不如在這兒等著,別跟他們打。」魯莊公就下令,不許嚷,不許打,光叫弓箭手守住陣腳。齊國人隨著鼓聲衝過來,可沒碰上對手。瞧瞧對手簡直像鐵一般地硬,沒法打進去,就退回來了。待了一會兒,又打鼓衝鋒。對手吶,好像在地下紮了根似地動也不動,一個人也不出來。齊國人白忙了半天,使不出勁兒去,真沒有意思,嘴裡直叨嘮。鮑叔牙可不灰心,他說:「他們不敢打,也許是等著救兵吶。咱們再衝一回,不管他們出來不出來,一直衝過去,準能贏了。」這就打第三通鼓了。那伙子士兵都膩煩死了。明知道魯國人只守不戰,幹麼還去吶?命令又不能不依,去就去吧。就又跑過去了。誰知道對面忽然「咚咚咚」鼓聲震天價響,魯國的將士「嘩」一下子都衝出來,就跟雹子打荷葉似地打得齊國兵馬全垮了。魯莊公就要追。曹劌說:「慢著,讓我瞧瞧再說。」他就站在兵車上,手搭涼棚往前瞧,瞧了一陣,又下來看看敵人的車印和腳印,才跳上車去,說:「追上去吧!」就這麼追了三十多里,得著了好些敵人的兵器和車馬。
魯莊公贏了,問曹劌:「頭兩回他們打鼓,你為什麼不許咱們打鼓吶?」曹劌說:「打仗全憑一股子勁兒。打鼓就是叫人起勁兒。頭一回的鼓頂有力。第二回就差了。第三回就是響得怎麼厲害,也沒有勁兒了。趁著他們沒有勁兒的時候,咱們『一鼓作氣』打過去,怎麼不贏吶?」魯莊公直點頭,可還不明白人家跑了為什麼不趕緊追上去。曹劌說:「敵人逃跑也許是假的,說不定前面有埋伏,非得瞧見他們旗子也倒了,車也亂了,兵也散了,才能夠大膽地追上去。」魯莊公挺佩服地說:「你真是個精通兵事的將軍。」
齊桓公打了敗仗,直不痛快,手指頭淨擦著冒汗珠的鼻子,好像汗一擦了,他就能把受到的欺負洗乾淨似地。他那鼻子可不聽話,剛一擦乾,汗珠又冒出來。齊桓公直生氣,更恨魯國。他叫人上宋國借兵去。管仲也不理他。管仲是有主意的:他知道齊桓公不碰幾回釘子,不會懂得請教別人。齊桓公就又出了一回兵。宋閔公[宋莊公馮的兒子]派南宮長萬幫齊國打魯國。齊國又打敗了,連宋國的大將南宮長萬也給抓了去,當了俘虜。齊桓公連著打了兩回敗仗,自己認了輸,向管仲認錯。管仲就請他整頓內政,開發富源。開鐵礦,設置鐵官,用鐵製造農具,這就大大提高了耕種的技術;設置鹽官煮鹽,鼓勵老百姓捕魚。離海較遠的諸侯國不得不依靠齊國供應食鹽。管仲自己原來是經商出身,他很重視通商和手工業。他說服了齊桓公,分全國為士鄉(就是農鄉)和工商鄉。優待工商,不服兵役,讓他們成為專門職業;優待甲士,不要他們耕種,讓他們專練武藝。這些事都做得很不錯,齊國富強起來了。一邊加緊訓練兵馬,用青銅製造兵器。齊桓公信服他極了,就聽他的話去跟魯國交好,還叫魯國別跟宋國計較從前的事。魯國有了面子,把宋國的俘虜南宮長萬也放回去了。打這兒起,三國交好。齊桓公就想多多聯絡別的諸侯,大夥兒訂立盟約,輔助王室,抵抗外族,自己做個霸主。