刘邦驻军霸上,还没有能和项羽相见,刘邦的左司马曹无伤派人对项羽说:“刘邦想要在关中称王,让子婴做丞相,珍宝全都被刘邦占有。”项羽大怒,说:“明天早晨犒劳士兵,给我打败刘邦的军队!”这时候,项羽的军队40万,驻在新丰鸿门;刘邦的军队10万,驻在霸上。范增劝告项羽说:“沛公在崤山的东边的时候,对钱财货物贪恋,喜爱美女。现在进了关,不掠取财物,不迷恋女色,这说明他的志向不在小处。我叫人观望他那里的云气,都是龙虎的形状,呈现五彩的颜色,这是天子的云气呀!赶快攻打,不要失去机会。”
楚国的左尹项伯,是项羽的叔父,一向同留侯张良交好。张良这时正跟随着刘邦。项伯就连夜骑马跑到刘邦的军营,私下会见张良,把事情全告诉了他,想叫张良和他一起离开,说:“不要和(刘邦)他们一起死了。”张良说:“我是韩王派给沛公的人,现在沛公遇到危急的事,逃走是不守信义的,不能不告诉他。”
于是张良进去,全部告诉了刘邦。刘邦大惊,说:"这件事怎么办?"张良说:"是谁给大王出这条计策的?"刘邦说:“一个见识短浅的小子劝我说:‘守住函谷关,不要放诸侯进来,秦国的土地可以全部占领而称王。’所以就听了他的话。”张良说:“估计大王的军队足以抵挡项王吗?”刘邦沉默了一会儿,说:“当然不如啊。这将怎么办呢?”张良说:“请让我去告诉项伯,说刘邦不敢背叛项王。”刘邦说:“你怎么和项伯有交情?”张良说:“秦朝时,他和我交往,项伯杀了人,我救活了他;现在事情危急,幸亏他来告诉我。”刘邦说:“跟你比,年龄谁大谁小?”张良说:“比我大。”刘邦说:“你替我请他进来,我要像对待兄长一样对待他。”张良出去,邀请项伯,项伯就进去见刘邦。刘邦捧上一杯酒祝项伯长寿,和项伯约定结为儿女亲家,说:"我进入关中,一点东西都不敢据为己有,登记了官吏、百姓,封闭了仓库,等待将军到来。派遣将领把守函谷关的原因,是为了防备其他盗贼进来和意外的变故。我日夜盼望将军到来,怎么敢反叛呢?希望您全部告诉项王我不敢背叛恩德。"项伯答应了,告诉刘邦说:"明天早晨能不能早些亲自来向项王道歉。"刘邦说:"好。"于是项伯又连夜离去,回到军营里,把刘邦的话报告了项羽,趁机说:"沛公不先攻破关中,你怎么敢进关来呢?现在人家有了大功,却要攻打他,这是不讲信义。不如趁此好好对待他。"项羽答应了。
刘邦第二天早晨带着一百多人马来见项王,到了鸿门,向项王谢罪说:"我和将