公元前206年,刘邦领兵向西进入咸阳,众将领都争先恐后地奔往秦朝贮藏金帛财物的府库瓜分财宝,唯独萧何率先入宫取秦朝丞相府的地理图册、文书、户籍簿等档案收藏起来,刘邦借此全面了解了天下的山川要塞、户口的多少及财力物力强弱的分布。刘邦看到秦王朝的宫室、帷帐、名种狗马、贵重宝器和宫女数以千计,便想留下来在皇宫中居住。樊哙劝谏说:“您是想拥有天下,还是只想作一个富翁啊?这些奢侈华丽之物,都是招致秦朝覆灭的东西,您要它们有什么用呀!望您尽快返回霸上,不要滞留在宫里!”刘邦不听。张良说:“秦朝因为不施行仁政,所以您才能够来到这里。而为天下人铲除残民之贼,应如同丧服在身,把抚慰人民作为根本。现在刚刚进入秦的都城,就要安享其乐,这即是人们所说的‘助桀为虐’了。况且忠言逆耳利于行,良药苦口利于病,望您能听取樊哙的劝告!”刘邦于是率军返回霸上。
十一月,刘邦将各县的父老和有声望的人全都召集起来,对他们说:“父老们遭受秦朝严刑苛法的苦累已经很久了!我与各路诸侯约定,先入关中的人为王。据此我就应该在关中称王了。如今与父老们约法三章:杀人者处死,伤人者和抢劫者抵罪。除此之外,秦朝的法律统统废除,众官吏和百姓都照旧安定不动。我之所以到这里来,是为了替父老们除害,而不是来欺凌你们的,请你们不必害怕!况且我所以领兵回驻霸上,不过是为了等各路诸侯到来后订立一个约束大家行为的规章罢了。”随即派人和秦朝的官吏一起巡行各县、乡、城镇,向人们讲明道理。秦地的百姓都欢喜异常,争相拿着牛、羊、酒食来慰问款待刘邦的官兵。刘邦又辞让不肯接受,说道:“仓库中的粮食还很多,并不缺乏,不想让百姓们破费。”百姓们于是更加高兴,唯恐刘邦不在秦地称王。
项羽已经平定了黄河以北的地区,就想率领各路诸侯军向西进入关中。在此之前,诸侯军中的官兵有的曾因服徭役或屯戍经过关中一带,秦地的官兵多无礼地对待他们。待到章邯率秦军投降了诸侯军后,诸侯军的官兵便凭借胜势,把秦军官兵多当作奴隶和俘虏来使唤,随便侮辱秦军官兵。秦军官兵大多因此而生出怨恨的情绪,暗地里议论说:“章将军等人骗咱们投降诸侯军,如今若能攻入关中击灭秦朝,当是大好事;倘若不能,诸侯军将咱们掠持到东方去,而秦朝又尽杀咱们的父母妻子儿女,那可怎么办啊?”诸侯军的将领们暗中查听到了这些议论,即报告给项羽。项羽于是召集黥布、蒲将军商量说:“目前军中秦朝的官兵还很多,他们内心并不顺服,如果到了函谷关不听从调遣,情势必会危急。所以不如将他们除掉,而只和章邯、长史司马欣、都尉董翳等进入秦地。”楚军便于夜晚在新安城南面袭击活埋了秦兵二十余万人。
有人劝说刘邦道:“关中地区比天下其他地方要富足十倍,而且地势险要。听说项羽封章邯为雍王,让他在关中称王。现在如果他来了,您恐怕就不能占据这个地方了。可以火速派兵把守函谷关,不让诸侯军进来,并逐步征召关中兵,以此增加自己的实力,抵御他们。”刘邦认为此计可行,就照着办了。
不久,项羽到达函谷关,但是关门紧闭。项羽听说刘邦已经平定了关中,勃然大怒,派黥布等人攻破了函谷关。十二月,项羽进军至戏。刘邦的左司马曹无伤派人告诉项羽说:“沛公想要在关中称王,任秦王子婴为相,奇珍异宝全都占有了。”企图借此求得项羽的封赏。项羽闻言怒不可遏,就让士兵们饱餐一顿,打算次日攻打刘邦的军队。这时,项羽拥兵四十万,号称百万大军,驻扎在新丰县的鸿门;刘邦拥兵十万,号称二十万,驻军霸上。
范增劝项羽说:“刘邦住在崤山之东时,贪财而又好色。现今入关,却不搜取财物,不宠幸女色,这表明他的志向不小哇。我曾命人观望他那边的云气,都显示出龙虎的形状,出现五彩,这是天子之气啊!宜赶快进攻他,不要错过了时机!”
楚国的左尹项伯是项羽的叔父,向来与张良要好,便连夜驰马到刘邦军中,私下里会见张良,将这些事情一五一十地对他说了,想要叫张良同他一起离开,说道:“可别跟刘邦一块儿死啊!”张良说:“我为韩王伴送沛公,而今沛公遇有急难,我却逃走了,这是不义的行为,我不能不告诉他。”于是张良即进去将项伯的话全都讲述给了刘邦。刘邦大吃一惊。张良说:“您估计一下您的兵力足够抵挡项羽的吗?”刘邦沉默了一会儿道:“的确是不如他呀。这可该怎么办呢?”张良说:“请让我去告诉项伯,说您是绝不敢背叛项羽的。”刘邦道:“您是怎么与项伯成为故交的啊?”张良说:“在秦的时候,项伯与我有交往,他曾经杀过人,我救了他。现在事情紧急,所以还幸亏他前来告我。”刘邦说:“你与他谁大谁小?”张良道:“他比我大。”刘邦说:“您替我唤他进来,我将把他当作兄长来对待。”张良于是出去,坚持邀项伯入内,项伯便进去与刘邦相见。刘邦手捧酒杯向项伯敬酒祝福,并与他约定结为亲家,说:“我进入关中,连毫毛般微小的东西都不敢沾边,只是登记官民,封存府库,等待着项羽将军的到来。之所以派将领把守函谷关,是为了防备有其他盗贼出入和有非常情况发生。我日日夜夜盼望着将军驾临,哪里敢谋反啊!望您能把我不敢忘恩负义的情况详尽地反映给项将军。”项伯答应了,对刘邦说:“你明日不可不早些来亲自向项王道歉啊。”刘邦说:“好吧。”项伯于是当夜就赶了回去,到达军营后,将刘邦的话一五一十地报告给项羽,并趁机道:“要不是刘邦先攻下关中,您又怎么敢进来呀?!如今人家建立了大功却还要去攻打人家,是不义的。不如就因此好好地对待他。”项羽同意了。
第二天,刘邦带领一百多骑随从人员到鸿门来见项羽,道歉说:“我与将军您合力攻秦,您在黄河以北作战,我在黄河以南战斗,没料到自己能先进入关中破秦,得以在这里与您重又相见。如今有小人之言搬弄是非,使您和我之间产生了隔阂。”项羽道:“这是您的左司马曹无伤散布的流言,不然的话,我何至于如此啊!”项羽于是就留刘邦与他一起喝酒。范增频频向项羽递眼色,并三次举起他所佩带的玉暗示项羽杀刘邦,项羽却只是默然不语,毫无反应。范增便起身出去招呼项庄,对他说:“项王为人心慈手软,还是你进去上前给刘邦敬酒,敬完酒,你就请求表演舞剑,然后乘势在坐席上袭击刘邦,杀了他。不然的话,你们这些人都将成为他的阶下囚了!”项庄即入内为刘邦祝酒,敬完酒后,项庄道:“军营中没有什么可用来取乐的,就请让我来为你们舞剑助兴吧。”项羽说:“好哇。”项庄于是拔剑起舞。项伯见状也起身拔剑起舞,并时时用身子遮护刘邦,使得项庄无法行刺。
这时张良来到军门见樊哙。樊哙说:“今天的事情怎么样了?”张良说:“现在项庄拔剑起舞,他的用意却常在沛公身上啊。”樊哙道:“事情紧迫了崐,我请求进去,与他拼命!”樊哙随即带剑持盾闯入军门。军门的卫士想要阻止他进去,樊哙就侧过盾牌一撞,卫士扑倒在地。樊哙于是入内,掀开帷帐站立在那里,怒目瞪着项羽,头发直竖,两边的眼角都睁裂开了。项羽手按剑,跪起身,说道:“来客是干什么的?”张良说:“是沛公的陪乘卫士樊哙。”项羽道:“真是壮士啊!赐给他一杯酒喝!”左右的侍从即给了他一大杯酒。樊哙拜谢后,起身站着一饮而尽。项羽说:“再赐给他猪腿吃!”侍从们便又拿给他一条生猪腿。樊哙将他的盾牌倒扣在地上,把猪腿放在上面,拔出剑来切切就大口地吃了。项羽说:“壮士,你还能再喝酒吗?”樊哙道:“我连死都不逃避,一杯酒难道还值得我推辞吗!秦王的心肠狠如虎狼,杀人唯恐杀不完,用刑惩罚人唯恐用不够,致使天下的人都起而反叛他。怀王曾与各路将领约定说:‘先打败秦军进入咸阳城的人,在关中为王。’现在沛公最先击溃秦军,进入咸阳,毫毛般微小的东西都不敢染指,就率军返回霸上等待您的到来。这样劳苦功高,您非但不给予封地、爵位的奖赏,还听信小人的谗言,要杀有功之人。这是在重蹈秦朝灭亡的覆辙呀,我私下认为您的这种做法是不可取的!”项羽无话可答,就说:“坐吧。”樊哙于是在张良的身边坐下了。
坐了不一会儿,刘邦起身去上厕所,趁机招呼樊哙出来。刘邦说:“我现在出来,没有告辞,怎么办啊?”樊哙道:“现在人家正好比是屠刀和砧板,我们则是鱼肉,如此还告什么辞哇!”于是就这么走了。鸿门与霸上相距四十里,刘邦撇下车马,抽身独自骑马而行,樊哙、夏侯婴、靳强、纪信等四人手拿剑和盾牌,快步相随,经骊山下,取道芷阳,抄小路奔向霸上。留下张良,让他向项羽辞谢,将白璧敬献给项羽,大玉杯给亚父范增。刘邦临行前对张良说:“从这条路到我们的军营,只不过二十里地。您估计着我已经抵达军中时,再进去。”刘邦已走,抄小道回到军营,张良方才进去告罪说:“沛公禁不起酒力,无法来告辞,谨派臣张良捧上白璧一双,以连拜两次的隆重礼节敬献给将军您;大玉杯一双,敬呈给亚父您。”项羽说:“沛公现在哪里呀?”张良道:“他听说您有要责备他的意思,便抽身独自离去,现在已经回到军中了。”项羽就接受了白璧,放到坐席上。亚父范增接受玉杯后搁在地上,拔剑击碎了它们,说:“唉,这小子不值得与他共谋大业!夺取项将军天下的人,必定是刘邦。我们这些人眼看着就要被他俘获了!”刘邦到达军中,立即杀掉了曹无伤。
隔了几天,项羽领兵西进,洗劫屠戮咸阳城,杀了已投降的秦王子婴,放火焚烧秦朝宫室,大火燃烧三个月不熄。随即搜取秦朝的金银财宝和妇女向东而去。秦地的百姓为此大失所望。
韩生劝说项羽道:“关中依恃山川河流为屏障,是四面都有险要可守的地方,土地肥沃,可以在此建都称霸。”项羽却一方面看到秦王朝的宫室都已焚烧得残破不堪,一方面又惦记着返回东方的家乡,便说:“富贵了而不归故乡,就如同身穿绵绣华服在夜间行走,谁能看得到啊!”韩生退下去后说道:“人家说楚人像是猕猴戴上人的帽子,果然如此!”项羽听到这话后,即将韩生煮死。