沛公驻军霸上,还没有跟项羽见面。沛公的左司马曹无伤派人对项羽说:“沛公打算在关中称王,任命子婴为国相,珍宝全部占有它。”项羽大怒道:“明天犒劳士兵,给我去打垮沛公的部队!”在这时,项羽的军队有四十万,驻扎在新丰鸿门;沛公的军队有十万,驻扎在霸上。范增劝说项羽道:“沛公住在崤山以东时,贪图财货,喜欢漂亮的女人。如今入了关,财物什么都不拿,也不迷恋女色,这样看来,他的野心不小。我叫人观望他那里的气运,都是龙虎的形状,呈现五彩的颜色,这是天子的气运呀!赶快攻打,不要失去机会。”
楚国的左尹项伯,是项羽的叔父,一向同留侯张良交好。张良这时正跟随着刘邦。项伯就连夜骑马跑到刘邦的军营,私下会见张良,把事情详细地告诉了他,想叫张良和他一起离开,说:“不要和(刘邦)他们一起死了。”张良说:“我是韩王派给沛公的人,现在沛公遇到危急的事,逃走是不守信义的,不能不告诉他。”张良就进去,(把情况)详细告诉刘邦。刘邦大吃一惊,说:“对这件事怎么办?”张良说:“谁替大王作出这个计策的?”(刘邦)回答说:“浅陋无知的小人劝我说:‘把守住函谷关,不要让诸侯进来,秦国所有的地盘都可以由你称王了。’所以(我)听信了他的话。”张良说:“估计大王的军队能够抵挡住项王的军队吗?”刘邦沉默(一会儿)说:“本来不如人家,将怎么办呢?”张良说:“请您亲自告诉项伯,说刘邦不敢背叛项王。”刘邦说:“你怎么和项伯有交情的?”张良说:“在秦朝的时候,项伯和我有交往,项伯杀了人,我救活了他;现在有了紧急的情况,所以幸亏他来告诉我。”刘邦说:“他你年龄,谁大谁小?”张良说:“他比我大。”刘邦说:“你替我(把他)请进来,我得用对待兄长的礼节待他。”张良出去,邀请项伯。项伯随即进来见刘邦。刘邦就奉上一杯酒为项伯祝福,(并)约定为亲家,说:“我进入关中,极小的财物都不敢沾染,登记官吏,人民,封闭了(收藏财物的)府库,以等待将军(的到来)。所以派遣官兵去把守函谷关的原因是,为了防备其他盗贼进来和意外的变故。日日夜夜盼望着将军的到来,怎么敢反叛呢!希望你(对 项王)详细地说明,我是不敢忘恩负义的。”项伯答应了,跟刘邦说:“明天你不能不早些来亲自向项王谢罪。”刘邦说:“好。”于是项伯又连夜离开,回到(项羽)军营里,详细地把刘邦的话报告项王。就趁机说:“刘邦不先攻破关中,您怎么敢进来呢?现在人家有大功(你)却要打人家,这是不仁义的。不如就趁机友好地款待他。”项王答应了。
刘邦第二天带领一百多人马来见项羽,到达鸿门,谢罪说:“我和将军合力攻打秦国,将军在黄河以北作战。我在黄河以南作战,然而自己没有料想到能够先入关攻破秦国,能够在这里再看到将军您。现在有小人的流言,使将军和我有了隔阂……”项羽说:“这是你左司马曹无伤说的。不是这样的话,我怎么会这样呢?”项羽当天就留刘邦同他一起饮酒。项羽、项伯面向东坐,亚父面向南坐。亚父这个人,就是范增;刘邦面向北坐;张良面向西陪坐。范增多次使眼色给项羽,举起(他)所佩带的玉玦向项羽示意多次,项羽默默地没有反应。范增站起来,出去召来项庄,对项庄说:“君王为人不狠心。你进去上前祝酒,祝酒完了,请求舞剑助兴,趁机把刘邦击倒在座位上,杀掉他。不然的话,你们都将被他所俘虏!”项庄就进去祝酒。祝酒完了,说:“君王和沛公饮酒,军营里没有什么可以娱乐,请让我用舞剑助兴吧。”项羽说:“好。” 项庄就拔出剑舞起来。项伯也拔出剑舞起来,常常用自己的身体,掩护刘邦,项庄得不到(机会)刺杀(刘邦)。
于是张良到军营门口找樊哙。樊哙问:“今天的事情怎么样?”张良说:“很危急!现在项庄拔剑起舞,他的意图常在沛公身上啊!”樊哙说:“这太危急了,请让我进去,跟他同生死。”于是樊哙拿着剑,持着盾牌,冲入军门。持戟交叉守卫军门的卫士想阻止他进去,樊哙侧着盾牌撞去,卫士跌倒在地上,樊哙就进去了,掀开帷帐朝西站着,瞪着眼睛看着项王,头发直竖起来,眼角都裂开了。项王握着剑挺起身问:“客人是干什么的?”张良说:“是沛公的参乘樊哙。”项王说:“壮士!赏他一杯酒。”左右就递给他一大杯酒,樊哙拜谢后,起身,站着把酒喝了。项王又说:“赏他一条猪的前腿。”于是给了他一个生的猪前腿。樊哙把他的盾牌扣在地上,把猪的前腿放在盾上,拔出剑来切着吃。项王说:“壮士!还能喝酒吗?”樊哙说:“我死都不怕,一杯酒有什么可推辞的?秦王有虎狼一样的心肠,杀人惟恐不能杀尽,惩罚人惟恐不能用尽酷刑,所以天下人都背叛他。怀王曾和诸将约定:‘先打败秦军进入咸阳的人封作王。’现在沛公先打败秦军进了咸阳,一点儿东西都不敢动用,封闭了宫室,军队退回到霸上,等待大王到来。特意派遣将领把守函谷关的原因,是为了防备其他盗贼的进入和意外的变故。这样劳苦功高,没有得到封侯的赏赐,反而听信小人的谗言,想杀有功的人,这只是灭亡了的秦朝的继续罢了。我以为大王不应该采取这种做法。”项王没有话回答,说:“坐。”樊哙挨着张良坐下。坐了一会儿,刘邦起身上厕所,趁机把樊哙叫了出来。
刘邦出去后,项王派都尉陈平去叫刘邦。刘邦说:“现在出来,还没有告辞,这该怎么办?”樊哙说:“做大事不必顾及小节,有大礼节不回避小的责备。现在人家正好比是菜刀和砧板,我们则好比是鱼和肉,告辞干什么呢?”于是就决定离去。刘邦就让张良留下来道歉。张良问:“大王来时带了什么东西?”刘邦说:“我带了一对玉璧,想献给项王;一双玉斗,想送给亚父。正碰上他们发怒,不敢奉献。你替我把它们献上吧。”张良说:“好。”这时候,项王的军队驻在鸿门,刘邦的军队驻在霸上,相距四十里。刘邦就留下车辆和随从人马,独自骑马脱身,和樊哙、夏侯婴、靳强、纪信四人拿着剑和盾牌徒步逃跑,从郦山脚下,取道芷阳,抄小路走。刘邦对张良说:“从这条路到我们军营,不过二十里罢了,估计我回到军营里,你才进去。”
刘邦离去后,从小路回到军营里。张良进去道歉,说:“刘邦禁受不起酒力,不能当面告辞。让我奉上白璧一双,拜两拜敬献给大王;玉斗一双,拜两拜献给大将军。”项王说:“沛公在哪里?”张良说:“听说大王有意要责备他,脱身独自离开,已经回到军营了。”项王就接受了玉璧,把它放在座位上。亚父接过玉斗,放在地上,拔出剑来敲碎了它,说:“唉!这小子不值得和他共谋大业!夺走项王天下的一定是沛公。我们这些人就要被他俘虏了!”
刘邦回到军营,立即杀掉曹无伤。