當劉邦大軍在鹹陽安民的時候,項羽率領的諸侯軍沿黃河一路西進,也逼近到函穀關附近。函穀關在今天的河南省靈寶縣西南,東自崤山,西至潼津,山中間裂成一穀道,兩邊是懸崖絕壁,即使是猿猴也不能攀越,人走在穀中,就像被關在盒子中一樣,所以叫函穀關。秦人在此設立了關城,控製人員出入。這一條狹窄的穀道是中原人進入關中最便捷的通道,其重要性可想而知。
劉邦軍中頓時充滿了山雨欲來風滿樓的緊張氣氛,大家都知道劉邦雖然搶先入關,但是他的軍隊若要和項羽的聯軍對抗,就好比以卵擊石。況且,項羽率領的群雄和眾多將領,早就虎視眈眈,都想在秦亡後分得一杯羹。此時,有人向劉邦進言說:“關中非常富裕,地勢易守難攻,聽說項羽把關中封給了降將章邯,如果讓他們進來,您就保不住關中了。最好趕快派兵把守函穀關,再征調關中之兵做後援,不讓項羽大軍進關。”劉邦聽從了這個建議,派兵固守函穀關,下令封閉關門,不許任何人出入。
項羽大軍將要到達函穀關前,得到先鋒部隊情報:關門緊閉,關上豎立著劉邦的旗幟。守關將領還向他們宣布劉邦的命令:不許項羽及諸侯大軍入關。項羽憤怒了,他認為狡詐的劉邦已經背叛了他。憤怒的項羽馬上下令,讓英布用武力奪取函穀關。以英布之勇,函穀關很快被攻破。把守函穀關的曹無傷因對沛公不滿,所以在關破之後不僅沒有及時向劉邦報告,而且馬上派密使去鴻門見項羽,告訴他說:“沛公打算在關中稱王,還要用子嬰做丞相,並且把鹹陽珍寶都據為了己有。”
破關之後,項羽帶領大軍駐紮在鴻門。謀士範增早就看準了諸侯中,隻有劉邦能成為項羽的勁敵,若按懷王之約,讓先入關的劉邦做關中王,就會後患無窮,因此正好借機除掉他。於是趁機進言:“沛公在山東的時候,貪財好色人人皆知。這次進入關中,不取財物,不近女色,足見此人誌向不小。我曾命人觀望他那邊的雲氣,都顯示出龍虎的形狀,出現五彩,這是天子之氣啊!應該趕快進攻他,不要錯過了時機!”項羽於是下令:“明天一早好好慰勞士兵,偷襲劉邦部隊!”
楚國左尹項伯是項羽的叔叔,同時也是張良的摯友,當年殺人之後曾蒙張良收留。項伯想要報張良的救命之恩,於是快馬加鞭趕到霸上,找到張良和盤托出了項羽的計劃,要張良趕緊隨自己逃生。張良很冷靜:“我奉韓王之命追隨沛公,這樣偷偷逃走實屬不義,容我去向沛公辭行。”說罷起身,項伯隻好坐在營帳中等候張良歸來。
張良於是進見沛公,和盤說出此事。沛公大驚,張良問:“是誰給沛公出的主意,讓您封閉函穀關,這是非常危險的事。”劉邦馬上承認錯誤,並向張良問計。張良說:“沛公您的士卒能抵擋住項羽的兵力並能和他抗衡嗎?”沛公沉默了一會兒,道:“肯定不如他,那該怎麼辦?”張良說:“請您親自去見項伯,向他解釋您不敢背叛項王。”沛公有點兒不放心:“你和項伯原來就有交情嗎?”張良說:“在秦的時候,項伯曾經殺人,是我救了他。現在事情緊急,所以才來告訴我。”沛公問:“他和你誰年紀大?”張良說:“他比我大。”沛公說:請你替我把他請來,我會用兄長之禮對他。“張良出來再三邀請項伯,項伯無奈就進去見沛公。沛公劉邦手捧酒杯向項伯敬酒祝福,並與他約定結為親家,之後解釋說:我進入關中,連毫毛般微小的東西都不敢沾邊,隻是登記官民,封存府庫,等待項羽將軍的到來。之所以派將領把守函穀關,是為了防備有其他盜賊進入和發生異常情況。我日日夜夜盼望著將軍駕臨,哪裏敢謀反啊!希望您能把我不敢忘恩的情況詳盡地告訴項將軍。”項伯答應下來,隨後對沛公說:請您明天早晨親自來鴻門謝罪。沛公說:好吧。
項伯連夜趕回軍中,把沛公之言報告項羽,又說:“要不是劉邦先攻下關中,您又怎麼能進來呀!現在沛公有這麼大的功勞我們卻要打他是不義啊,不如我們就此好好對待他。”
項羽本來就沒把劉邦放在眼裏,不相信他敢背叛自己,聽項伯一說就相信了,隨後問項伯該怎麼辦。項伯說:“沛公答應明天一早來向大王請罪,大王不妨向天下諸侯顯示一下您的寬容。”項羽當即決定停止明天的偷襲行動,改為舉辦慶功宴,同時請諸侯和將領共同參加。
第二天一早,劉邦帶領100多名隨從到達鴻門,拜見項羽,首先謝罪說:“我和將軍合力攻打秦國,將軍在黃河以北作戰,我在黃河以南作戰,我自己也沒有料想到能夠先入關打敗秦國,在這裏再次看到將軍您。現在有小人從中編造謠言,而使將軍和我有了隔閡……”劉邦這樣一解釋,項羽很受用,馬上說:“這是你的左司馬曹無傷說的,不然的話,我怎麼會這麼生氣呢?”項羽隨後傳令賜宴,款待劉邦等人。
宴會上,項羽、項伯麵向東坐;亞父範增麵向南坐;劉邦麵向北坐;張良麵向西陪坐。酒喝得差不多了,範增多次使眼色給項羽,並舉起自己的玉佩向項羽示意,項羽假裝沒看見,依舊推杯換盞,談笑風生。
範增急得坐不住了,起身出去召來項莊,對他說:“項王為人心腸太軟,不忍下手。你進去上前祝酒,之後請求舞劍助興,趁機把劉邦擊倒在座位上,殺掉他。不然的話,以後你們都將被他俘虜!”項莊聽命而行,進來祝酒說:“君王和沛公飲酒,軍營裏沒有什麼可以用來娛樂的,請讓我舞劍助興吧。”項羽說:“好。”項莊就拔出劍舞起來,漸漸靠近劉邦,眼神露出殺機。項伯見狀不好,也拔出劍與他對舞起來,並常常像鳥兒張開翅膀一樣掩護劉邦,項莊始終得不到機會來刺殺劉邦。
張良到軍門外召見樊噲。樊噲劈頭就問:“今天裏麵的情況怎樣?”張良說:“非常危急!現在項莊拔劍起舞,他的用意分明在沛公身上。”樊噲說:“這太緊迫了!請讓我進去守衛在沛公身旁,竭力保護他。”樊噲就帶著劍和盾牌進入營帳。樊噲進去後,揭開帷幕麵向西站立,瞪眼看著項羽,頭發直豎起來,眼眶都要裂開了。項羽手握劍柄跪直身子說:“客人是幹什麼的?”張良說:“他是沛公的參乘樊噲。”項羽說:“壯士!賞他一杯酒。”樊噲拜謝,站著一口氣把酒喝幹。項羽說:“賞給他一隻豬腿。”左右的人就給他端上一隻半生的豬腿。樊噲把盾牌反扣在地上,把豬腿放在盾牌上,拔出劍切著吃起來。
項羽說:“壯士!能再喝杯酒嗎?”樊噲說:“我死尚且不怕,一杯酒還值得推辭嗎?秦王有像虎狼一樣凶狠的心腸,殺人唯恐不能殺盡,處罰人唯恐不能用盡酷刑,因此天下百姓都背叛了他。楚懷王曾經和諸將約定:先打敗秦軍進入鹹陽的人為關中王。現在沛公先打敗秦軍進入鹹陽,封閉了宮室,一絲一毫都不敢占有動用,退軍駐紮在霸上,以等待大王的到來。沛公特意派遣將士把守函穀關的原因,是為了防備盜賊進入和其他意外。像這樣勞苦功高的人,沒有封侯的賞賜,卻聽信小人讒言,要殺有功之臣,這是步亡秦的後塵啊!我私下認為大王不應該采取這樣的做法。”
大家見樊噲當麵指責項羽,都以為項羽一定不會饒過他,沒想到項羽卻喜歡他的大膽直率,隻是說:“壯士坐下吧。”樊噲便挨著張良坐下。過了一會兒,劉邦怕項羽不放過他,又怕範增再設計殺害他,就起身假裝上廁所,離座出外,暗示樊噲等人跟他出去。劉邦出外不久,張良、樊噲等人也都跟了出來,項羽看他們都出去了,就派都尉陳平去請劉邦回座。劉邦哪裏肯回去,幾個人聚到一起繼續商量。劉邦說:“剛才出來沒有告辭,就這樣一走了之,不太好吧?”“做大事不必顧慮細枝末節,大禮不必講究小的謙讓。現在人家正像切肉的刀和砧板,我們是魚和肉,人家要宰割我們,我們還講究什麼禮節呢?”樊噲口裏埋怨著,催促劉邦快走。劉邦決定不告而別,隻留下張良向項羽道歉。
張良問道:“大王來時帶些什麼禮物?”劉邦說:“我拿來一對白玉璧,準備獻給項王;一對玉酒杯,要送給範增。正趕上他們發怒,不敢獻上去,你替我獻給他們吧。”張良說:“遵命。”劉邦臨走前對張良說:“從這條路到軍營不過20裏罷了。你估計我到了軍營,再進去見項王。”劉邦於是丟下隨從的車輛、人馬,獨自一人騎著戰馬,帶著持劍拿盾徒步奔跑的樊噲、夏侯嬰、靳強、紀信4人,一起順著驪山腳下,抄小路逃走。
劉邦走後,張良估計他們已經回到軍中了,就進去辭謝說:“沛公不能多喝酒,已經醉了,不能前來告辭。叫我奉上白玉璧一對,敬獻給大王;玉杯一雙,敬獻給大將軍。”項羽說:“沛公在哪裏?”張良說:“聽說大王有意責備,他脫身獨自離開了,已經回到軍中。”項羽就接受了白玉璧,放到座位上,這時才後悔不該放走劉邦,心裏很不是滋味。範增接過玉杯,丟在地上,拔出劍砍碎,歎息道:“唉!這小子不值得和他共謀大業!奪走項王天下的人一定是沛公,我們這些人總有一天會成為他的俘虜!”
沛公回到霸上,第一件事就是殺了挑撥離間的曹無傷,剪除了內部的隱患,加強了內部團結。不久,張良帶著隨從也回來了。鴻門宴上項羽沒能殺了劉邦,劉邦撿回一命,但是也付出了很大的代價:放棄首先入關的功勞,承認項羽是亡秦第一有功之人,並有資格分配一切利益。
“鴻門宴”一詞在後世被用作比喻“不懷好意的筵席”。“項莊舞劍,意在沛公”以及“人為刀俎,我為魚肉”皆成為名句。它標誌著秦末農民起義中風雲人物之一項羽悲劇命運的開端,是秦末農民戰爭的重要轉折,是劉項兩大勢力急遽變化的關鍵。