马曹无伤听说项王发怒,要攻打沛公,派人告诉项羽说:“沛公想要称王关中,令子婴为相,珍宝被他全部占有了。”打算以此求得封赏。亚父劝项羽进攻沛公。当时项羽饱餐士卒,准备明日会战。这时项羽兵四十万,号称百万。沛公兵十万,号称二十万,兵力敌不过项羽。恰巧项伯要救张良,夜间去见他。(回来后,)用道理劝说项羽,项羽取消了进攻沛公的计划。沛公带来了一百多骑兵,驰至鸿门,来见项羽,表示歉意。项羽说:“这是你沛公左司马曹无伤向我说的。不然,我项羽何至于做这样的事。”沛公因为樊哙、张良的缘故,得以脱身返回。回来后,立刻杀了曹无伤。
项羽向西进军,屠杀无辜,焚毁咸阳秦宫室,所过之处,无不遭到摧残破坏。秦地的百姓大失所望,然而心里恐惧,不敢不服从。
项羽派人回去报告楚怀王。楚怀王说:“按照原来的约定办。”项羽怨恨楚怀王不肯让他与沛公一起西进入关,而派他北上救赵,在天下诸侯争夺称王关中的约定中落在后面,他就说:“怀王这个人,我家项梁所立,没有什么功劳,凭什么主持约定。本来安定天下的,是诸位将领和我项籍。”就假意推尊楚怀王为义帝,实际上不听从他的命令。
正月,项羽自立为西楚霸王,在梁、楚地区的九个郡称王,建都彭城。背弃原来的约定,改立沛公为汉王,在巴、蜀、汉中称玉,建都南郑。把关中瓜分为三,封立秦朝的三个将领:章邯为雍王,建都废丘:司马欣为塞王,建都栎阳;董翳为翟王,建都高奴。封楚将瑕丘申阳为河南王,建都洛阳。封赵将司马印为殷王,建都朝歌。赵王歇迁徙代地称王。封赵将张耳为常山王,建都襄国。封当阳君黥布为九江王,建都六县。封楚怀王柱国共敖为临江王,建都江陵。封番郡吴芮为衡山王,建都邾县。封燕将臧荼为燕王,建都蓟县。原来的燕王韩广迁徙辽东称王。韩广不服从,臧荼攻杀韩广于无终。封成安君陈余河间三县,住在南皮。封给梅鋗十万户。
四月,在项羽旌麾之下罢兵散归,诸侯各自回到封国。汉王回国,项王派兵三万跟随,楚国和其他诸侯国的士卒仰慕汉王而追从的有几万人。他们从杜县南面进入蚀中,离开后就烧断栈道,以防备诸侯军和匪徒的袭击,也向项羽表示没有东进的意图。到达南郑,那些将领和士卒很多在中途逃亡回去,士卒都唱着歌,想要回到东方。韩信劝汉王说:“项羽封诸将有功的为王,而大王独自被封在南郑,这实际上是贬徒。军中官吏和士卒都是崤山以东的人,日夜跂踵盼望回家乡。乘他们气势旺盛时加以利用,可以建立大的功业。等