魯莊公二十七年(公元前667年),齊恆公邀請了八個諸候到北杏舉行“衣裳之會”,以決定宋公子御的宋國國君地位,但有四個諸候未到,其中就有魯莊公。
會中,因宋御對齊桓公不服,晚上不辭而別,齊恆公很生氣,決定去討伐這個不知好歹的傢伙。但大夫管仲說,宋國與齊國之間隔了個魯國,如果要打宋國,不如先收拾魯國,再打宋國就方便多了。齊恆公一聽,正中下懷,魯莊公這斯不聽我的話,我正想收拾他呢!於是決定先把魯國拿下來再說。
齊桓公親自帶領一彪兵馬直奔魯國,並派一使臣到魯國下戰書。魯莊公一聽,嚇壞了,忙給齊桓公回了一封信,先是一頓檢討,再提出,如果齊國退兵到自己國境內去,願意進貢並對齊桓公的話言所計從。
齊桓公看到回信,非常得意,心想,算你小子識相,行,退兵就就兵,看你怎麼來巴結我。於是,將兵馬全部退回到自己的國土之上。
齊軍退了,魯莊公不敢食言,就準備到柯地拜見齊桓公。
臨行前,魯莊公問手下:“誰願意陪我走一趟呢?”
將軍曹沫自告奮勇地說:“讓我去吧!”
魯莊公說:“你和齊軍交戰,三戰三敗,今天同我去齊國,你不怕他們恥笑你嗎?”
曹沫說:“正因為三戰三敗,我才要去一雪前恥!”
魯莊公說:“我們這次去,可能還是會失敗,如果你真能為魯國雪恥,那我就帶你去!”
他們到了齊國邊境柯地,見邊境上全是兵馬相陳,魯莊公嚇得戰戰兢兢,臉色寡白。齊桓公見魯莊公的人馬到了,就下令只許帶一個護衛晉見。曹沫手特利劍緊跟在莊公身後,泰然自若,將要登壇的時候,齊國武士們攔住曹沫,要他放下武器,曹沫將手一揮,怒目而視,嚇得這些武士倒退三步。
魯莊公與曹沫快步走上祭壇,兩君相見,稍稍說了幾句友好的話後,齊國大臣就端了一盆牛血上來,請兩君“歃血為盟”,曹沫突然向前,右手握劍,左手拉住齊桓公的袖子,怒氣衝衝地望著齊桓公,管仲見狀,連忙上前用身子擋住齊桓公,驚問:“將軍你要幹嗎?”
曹沫大聲說:“你說我要幹什麼?我們國家三番五次被你們侵略,國家都快完蛋了!你們不是號稱濟弱扶傾嗎?為什麼不扶一下魯國?”
管仲說:“將軍你有什麼要求?儘管說!”
曹沫說:“你們齊國恃強凌弱,霸佔我汶陽土地,你們只有退還這塊土地,我們才歃血為盟!”
管仲連忙對齊桓公說:“你快答應他的要求吧!”
齊桓公一聽只是要土地並不是要命,才鬆了口氣,向曹沫說:“將軍放心,我保證答應你的要求。”
曹沫這才收起劍,端過牛血盆,讓兩諸候歃血為盟,之後又要管仲和自己歃血,齊桓公見狀,忙向天發誓,決不食言,曹沫方才作罷。
事後,大臣們都勸齊桓公殺掉曹沫與魯莊公,以解心頭之恨,齊桓公氣得也想殺了他們,但管仲說既然答應了的事,如果食言,怎麼能取信其他諸候?不如禮遇他們,把土地還給他們,並隆重送他們回去。
曹沫未動一兵一卒,不僅雪了前恥,還要回了失地,真是膽識過人。