刘邦灭秦后,即派兵把守函谷关(今河南省灵宝县西南),按照楚怀王预先的诺言,打算做关中王。项羽对刘邦抢先入关占据咸阳,深感不满,遂率40万大军突入函关,屯军新丰鸿门(今西安市临潼东北),离刘邦驻地霸上(今灞河西白鹿原)仅40余里。这时,刘邦的左司马曹无伤派奸细向项羽报告了刘邦占据咸阳后抢夺金银珠宝和企图称王关中的消息,更使项羽大动肝火,准备稍休整后,即向刘邦进攻。当晚,项羽的叔父项伯单骑来至汉营,私自探望张良。因为张良对项伯曾有救命之恩,项伯就向张良透露了项羽的进攻计划,劝张良随他一起离开刘邦,免遭灭亡。张良借此劝说刘邦向项伯说明自己封府库、守函关的目的在于等侯项羽处理,并无称王之心,恳请项伯在项羽面前婉言相劝,免动干戈。为了结好项伯,刘邦还当面答应愿把女儿嫁给项伯之子。项伯看到刘邦态度诚恳,为之感动,遂答应当晚回去后立即劝说项羽,并希望刘邦第二天一早前来鸿门,亲自向项羽说明此事。后经项伯调解,项羽转怒为喜,遂取消了进攻刘邦的计划。第二天刘邦来到了鸿门,项羽设宴招待。宴会上,谋士范增多次示意项羽杀死刘邦,均被拒绝。随后,范增又派项庄舞剑助兴,借机欲刺刘邦,项伯挥剑对舞,以身掩护刘邦。在这紧急时刻,刘邦的猛将樊哙带剑执值闯入宴会中,怒责项羽,刘邦乘机脱险而归。留传至今的“鸿门宴”典故和“项庄舞剑,意在沛公”成语便出自这段故事。