章邯的军队驻扎在棘原,项羽的军队驻扎在漳南,两军相持没有交战。秦军多次败退,二世派人责问章邯,章邯恐慌,派长史司马欣赴成阳请示。到了成阳,司马欣在门外滞留了三天,赵高拒不见他,有不信任的意思。长史司马欣恐惧,返回棘原军中,不敢走原来的道路,赵高果然派人追赶,没追上。司马欣回到军中,向章邯报告说:“赵高独揽朝政,下面的人都无所作为。如今要是打胜了,赵高必定要嫉妒我们的功劳;如果打不胜,就不能免于死罪。希望将军您好好考虑一下。”陈余也写信给章邯说:“白起做秦国的将军时,南征鄢郢,在北方活埋赵括的军队,为秦国攻城略地,多得不可胜数,竟然落得个赐死的下场。蒙恬做秦国的将军,向北驱逐戎人,开拓了榆中地区的几千里疆土,最终在阳周被斩杀。这是为什么呢?因为功劳太多,秦朝无法全部给予封赏,于是就假借法律的名义把他们杀了。如今将军您担任秦将已经三年了,损失的部队有十万人,加之诸侯并起,损失的也越来越多。那赵高平时阿谀逢迎,把军情隐瞒了很长时间,现在事态紧急,他也害怕二世杀他,所以想用法律的名义诛杀将军来搪塞他自己的罪责,派人取代将军来逃脱灾祸。将军您在外面的时间很长,跟朝廷里面的人多有矛盾和嫌隙,有功也是被杀,无功更要被杀。而且上天要灭亡秦国,无论是愚人还是智者都知道得很清楚。现在将军您在朝内不能直言进谏,在外又成为亡国之将,孤立无援而企图维持长久,这岂不是太悲哀了吗?将军何不退兵与诸侯联合,相约一起攻打秦国,分割它的土地自己做国王,南面称孤?这比起自身被斩、妻儿被杀来哪个更好呢?”章邯犹豫不决,暗中派军侯始成出使项羽军中,想要订立和约。和约没有达成,项羽派蒲将军日夜不停地率兵渡过三户津,驻扎在漳河南岸,与秦军交战,再次打败秦军。项羽便率领全部军队在汗水上进攻秦军,把秦军打得大败。
章邯派人进见项羽,希望订立和约。项羽召集军吏商议说:“我军粮食短缺,我准备答应章邯的求和。”军吏们都说:“很好。”项羽于是和章邯约定时间在洹水南边的殷墟会面。
订下盟约后,章邯见到项羽就流下了眼泪,向他诉说赵高弄权作恶的事情。项羽就立章邯为雍王,安置在楚军之中。任命长史司马欣为上将军,率领秦军充当先头部队。
行军至新安。诸侯军中的一些军官和士卒过去曾因服徭役或屯戍边地而经过秦中地区,秦中的官兵对他们非常苛刻,等到秦军投降诸侯,诸侯的官吏和士卒大多乘胜奴役使唤他们,轻视和侮辱秦军官兵。秦军的官兵私下说:“章将军等人欺骗我们向诸侯投降,如今能够入关攻破秦国,当然很好;如果不能,诸侯必然会把我们俘虏到东方去,这样秦朝一定会把我们的父母妻儿全都杀光。”诸将对秦军官兵的议论略有耳闻,便报告了项羽。项羽就召见黥布、蒲将军商议说:“秦军官兵人数还很多,内心并不顺服,如果到关中后不听指挥,事情必定会很危险,不如把他们都杀了,只带章邯、长史司马欣、都尉董翳入秦。”于是楚军在夜间袭击秦军,把二十多万秦兵全部活埋在新安城南。
楚军随后向西行进攻,取秦国的土地。函谷关有军队把守,不能进入。又听说沛公已经攻破成阳,项羽大怒,派当阳君等人进攻函谷关。项羽于是进入关中,到达戏水西岸。沛公驻扎在霸上,未能与项羽见面。沛公的左司马曹无伤派人对项羽说“沛公想在关中称王,让子婴担任国相,将秦国的珍宝全都占为己有。”项羽大怒,说:“明天一早让士兵们吃饱喝足,给我打败沛公的军队!”此时,项羽拥有四十万军队,屯驻在新丰鸿门,沛公有十万军队,驻扎在霸上。范增向项羽劝道:“沛公在山东时,贪财好色。如今进入函谷关,没有索取财物,也没有接近女人,这表明他的志向不小。我让人观望他那里的云气,都是呈龙虎之象,而且五彩斑斓,这是天子的气象啊。赶快向他进攻,切勿错过时机。”楚国的左尹项伯,是项羽的叔父。一向跟留侯张良关系很好。张良当时跟随沛公,项伯于是趁夜急驰来到沛公军中,私下与张良见面,把情况详细告诉他,想要张良跟他一道离开,说:“不要跟着沛公一起送死。”张良说:“我是代表韩王来送沛公的,现在沛公情况紧急,我如果逃走就是不义之举,不能不跟他说一声。”张良于是进入军帐,把情况都告诉了沛公。沛公大为恐慌,说:“这该如何是好?”张良说:“是谁替您出的主意?”沛公说:“鲰生劝我说‘守住函谷关,别让诸侯进来,您就可以拥有整个秦地而称王’,所以我才听了他的话。”张良说:“估计您的军队能够抵挡住项王吗?”沛公沉默了一会儿,说:“确实不如项王,那么现在该怎么办呢?”张良说:“请您去向项伯说,说您不敢背叛项王。”沛公说:“你怎么会跟项伯有交情呢?”张良说:“秦朝的时候项伯与我交游,项伯杀了人,是我救了他一命。如今事情紧急,幸好他前来告诉我。”沛公说:“他和你相比谁年龄大?”张良说:“他比我大。”沛公说:“请你替我把项伯叫进来,我要像对待兄长一样接待他。”张良出去,邀请项伯。项伯随即进去见沛公。沛公捧着酒杯为他祝寿,跟他相约结成儿女亲家,说:“我进函谷关后,对秦朝的财富一丝一毫也不敢动,清查吏民,登记上册,封存好府库,等待项羽将军的到来,之所以派将领守函谷关,是为了防备其他盗贼的往来,和防备其它的变故。怎么敢反叛他呢!希望您对项将军仔细说明我不敢背德反叛。”项伯答应了他,对沛公说:“明天一早不可不早早前来向项王谢罪。”沛公说:“是。”于是项伯连夜回去,到了军中,把沛公的话详细报告给项王。而后说到:“如果沛公不先攻破关中,您怎么敢进来呢?现在别人立了大功却要进攻他,这是不义之举,不如趁此机会好好对待他。”项王答应了他。
沛公第二天一早就带着一百多名随从前来拜见项王。到了鸿门,赔罪说:“我和将军一起努力攻打秦朝,将军在黄河北面作战,我在黄河南面作战,但是没想到能先入关破秦,得以在此地再与将军相见。现在有小人说坏话,使将军和我之间产生了隔阂。”项王说“这是沛公你的左司马曹无伤说的,要不然,我项籍怎么会生此疑心?”项王当日挽留沛公一起饮酒。项王、项伯面东而坐,亚父面南而坐。
亚父,就是范增。沛公面北而坐,张良面向西侧陪侍。范增好几次向项王使眼色,三次举起所佩戴的玉块向项王示意,项王默然没有回应。范增起身,出去把项庄招来,对他说:“项王为人心软,不忍下手,你进去上前敬酒祝寿,祝寿完毕,请求用舞剑来助兴,趁机在沛公坐着时攻击他,把他杀掉,否则,你们这些人都将成为他的俘虏。”项庄于是进去祝酒。祝酒完毕,说:“君王与沛公一起饮酒,军营中没什么可娱乐的,请允许我舞剑为大家助兴。”项王说:“好的。”项庄拔剑起舞,项伯也拔剑起舞,常常用身体掩护沛公,项庄无法击刺沛公。
于是张良来到军门,见到樊哙。樊哙问:“今天的事情怎么样?”张良说:“很危险,现在项庄舞剑,目的就在刺杀沛公。”樊哙说:“这说明形势已经很紧迪了,我请求进去,和沛公同命运。”樊哙随即带着宝剑拿着盾牌闯入军门。交戟守卫的士卒想拦住他,不让他进去,樊哙侧过他手中的盾牌去撞击卫士,卫士被撞倒在地,樊哙于是进去。分开帷帐向西站立,瞪大眼睛看着项王,头发向上直立,眼眶都快瞪裂。项王按着宝剑直起身子说:“你是什么人?”张良说:“这是为沛公驾车的驭手樊哙。”项王说:“好个壮士!赐给他一杯酒。”就给了他一大杯酒。樊哙跪地拜谢,起身后站着把酒喝干。项王说:“赐给他一只猪肘。”于是给了他一只生猪肘。樊哙把盾牌平放在地上,把生猪肘搁在盾牌上,拔出剑边切边吃下去。项王说:“壮士,还能再喝吗?”樊哙说:“我死都不怕,一杯酒何足推辞!秦王有虎狼之心,杀’人惟恐不尽,刑罚唯恐不重,天下人都背叛了他,楚怀王跟各位将领相约说:‘先攻破秦军进入成阳的人称王’。如今沛公先攻破秦国,进入咸阳,秋毫无犯,封藏宫室,然后退兵驻扎在霸上,等待大王您的到来。之所以派遣将领把守函谷关,是为了防备其他盗贼进来和意外事变的发生。如此劳苦功高,不但得不到封侯的奖赏,反而要因谗言而被诛杀。这样做简直是亡秦的继续,我私下认为大王是不会这么做的。”项王无话可答,只说了声:“请坐。”樊哙于是随张良就座。坐了一会儿,沛公起身去厕所,顺便把樊哙叫了出来。
沛公出来以后,项王派都尉陈平去召沛公。沛公说:“现在我出来了,还没有告辞,怎么办?”樊哙说:“做大事就不应拘泥于小节,讲求大礼就不必在意小的责难。如今人家是刀和砧板,我们是人家砧板上的鱼肉,还告辞干什么?”于是就走了。同时让张良留下来向项王致谢。张良问道:“大王来时带了些什么?”沛公说:“我带来白璧一双,想献给项王;玉斗一对,想送给亚父。正逢他们生气,所以不敢献,请你替我献上。”张良说:“遵命。”在这个时候,项羽的军队驻扎在鸿门一带,沛公的军队驻扎在霸上,相距四十里。沛公就放弃了车骑,脱身逃离,他一人骑马,樊哙、夏侯婴、靳强、纪信等四个人手持剑、盾跟着徒步行走,从骊山而下,经过芷阳抄小路走。沛公对张良说:“从这条路到我军营中,不过二十里罢了。估计我已回到军中时,你再进去告辞。”沛公离去后,从小路回到军中。张良进去辞谢,说:“沛公酒喝多了,不能亲自告辞,委派臣下谨奉白璧一双,拜献给大王;玉斗一双,拜献给大将军。”项王说:“沛公在哪里?”张良说:“听说大王有意责怪他的过错,脱身独自离去,已经回到军中了。”项王于是接受了白壁,放在座位上面。亚父接过玉斗,扔在地上,拔剑击碎玉斗,说:“唉!无知小子,不值得跟他同谋大事。夺取项王天下的人,一定是沛公,我们这些人将要成为他的俘虏了。”沛公回到军中,立即诛杀曹无伤。
过了几天,项羽率兵向西在成阳大肆屠戮,杀死投降的秦王子婴,焚烧秦朝的宫室,大火烧了三个月都没有熄灭。收罗所有的财产宝物和女人向东归去。有人对项王游说道:“关中地区有山川阻塞四方,土地肥沃,可以在这里建都称霸。”项王看到秦的宫室都被烧得残破不堪,加上心中思念故土,想要东归,就说道:“富贵了不回故乡,就像是穿着锦绣衣裳在夜间行走,有谁知道呢!”游说的人说:“人们说楚国人像是沐猴戴了人的帽子,果然如此。”项壬听说后,就把这人烹杀了。
项王派人向楚怀王复命。怀王蜕:“按照盟约行事。”于是尊奉怀王为义帝。
项王想自立为王,于是先封手下的将相们为王。对他们说道:“天下刚开始发难时,假借拥立诸侯的后代来讨伐秦朝。然而自己却披着坚固的盔甲,手持锋利的兵器,率先起义反秦,在野外辛苦达三年之久,灭亡秦朝而平定天下,这都是各位将相和我项籍的功劳。义帝虽然没什么功劳,但也应当分给他一片土地让他称王。”诸将们都说:“好。”于是分封天下,立各位将相为侯王。
项王、范增担心沛公会据有天下,但既然已经和解,又怕担上违背盟约的恶名,惟恐诸侯反叛他们,于是暗中商议说:“巴、蜀地区道路险峻,秦国被贬迁移的人都住在蜀地。”就说:“巴、蜀地属于关中地区。”因而立沛公为汉王,统治巴、蜀、汉中地区,定都南郑。而把关中分成三部分,封秦朝投降的将领为王,用他们来阻隔汉王。
汉王元年四月,诸侯在戏下罢兵离去,各自到封国就位。
项王出关前往封国,派人迁移义帝,说:“古代帝王拥有千里疆土,必定居住在水域的上游。”于是派使者把义帝迁到长沙郴县。催促义帝上路。他的群臣渐渐有背叛自己的意向。于是暗中命令衡山王和临江王在长江中击杀义帝及其随从大臣。韩王成没有军功,项王不让他去自己的封国,带着他一起到彭城,把他废为诸侯,不久又把他杀掉。臧荼来到封国,接着把韩广驱往辽东,韩广不答应,臧荼就在无终击杀韩广,兼并了他的封地。田荣听说项羽把齐王田市迁到胶东,而立齐将田都为齐王,十分愤怒,不肯把齐王送往胶东。进而在齐国反叛,率军迎击田都。田都逃往楚国。齐王田市畏惧项王,便逃到胶东接受封地。田荣大怒,追击齐王,在即墨杀死了他。田荣于是自立为齐王,向西进攻杀死济北王田安,兼并了三齐的国土。田荣授给彭越将军的印玺,命令他在梁地反叛。陈余暗中派张同、夏说去向齐王田荣游说道:“项羽身为天下的主宰,做事很不公平。如今把以前的诸王全都封在贫瘠的地方,而把好地方封给他自己的群臣诸将,赶走原来的诸侯王。赵王竞被北迁到代地。我认为这样做是不可以的。听说大王您起兵反抗楚军,而且不听从不义的行为,希望大王您资助我一部分军队,让我去攻打常山,来恢复赵王原有的封地,我愿意用我们的国土作为齐国的屏障。”齐王答应了他,因而派兵前往赵国。