项羽在西向进军途中,因主观武断,犯下严重错误。他领导的诸侯军中,一些官兵因过去遭受秦朝官兵的无礼,趁机在降卒身上报复。那些降卒因受侮辱而产生怨言,且担心若未能攻入关中,他们将被带往东方,自己的父母也会遭到秦廷的杀害。
尽管这些降卒仍希望起义军能够推翻秦朝,但项羽得知后,认为秦军心怀不满,竟在新安(今河南沌池东)城南夜间屠杀了二十多万降卒,只留下少数三名将领。项羽的残酷行径激起了关中人民对他的仇恨。
当时,楚怀王曾约定,谁先攻下咸阳,谁便为关中王。刘邦趁秦军在巨鹿之战后内乱,迅速取道南阳,攻下武关,终于在公元前206年10月进入咸阳,并赢得了关中人民的支持。刘邦废除秦朝的苛法,发布三条法令:杀人偿命,打伤人和偷盗按轻罪处理,成功赢得了民心。
然而,项羽率领的四十万大军来到函谷关时,才发现关口已经由刘邦控制,并得知刘邦已经通过各种手段赢得了关中人民的支持。项羽十分恼怒,立即挥师入关,驻军鸿门,准备攻击刘邦驻扎的霸上(今陕西西安东)。
刘邦兵力不足,无法抗衡项羽,采纳张良的建议,通过项羽的叔父项伯,向项羽表明自己并无野心,第二天亲自前往鸿门向项羽谢罪。鸿门宴上,项羽的部下提议除掉刘邦,但由于项羽的优柔寡断,加上张良的调解和项伯的庇护,刘邦成功逃脱了这次险境。
几天后,项羽进入关中,却再次犯下重大错误。他放火烧毁秦朝宫殿,大火持续了数月;残酷杀害了降将王千婴和一批臣民,还掠夺了大量金银财宝和美人,准备带回关东。
有劝谏项羽称,关中四面有险可守,土地肥沃,完全可以在这里建都称霸天下。但他所造成的局势已经不容挽回,咸阳一片残破不堪,于是项羽决定回到关东自封为西楚霸王,定都彭城。
项羽凭借百战之力,组建了一支令诸侯畏惧的楚军,但由于诸侯和一些将领自身也有不小的实力,项羽根据战功大小和军力强弱,封了十八个诸侯王。然而,他违背了楚怀王最初的约定,没有封刘邦为关中王,而是将刘邦迁封为巴(今四川东部)、蜀(今四川西部)和汉中(今陕西秦皋以南一带及湖北西北部)的汉王,并将秦朝的三位降将节邯、喳弱、司马欣封为雍王、翟主、塞王。
为了限制刘邦东进,项羽还将关中地区分给了他们。项羽表面上尊楚怀王为义帝,但暗地里派人将楚怀王杀害。
尽管项羽称帝为“霸王”,并未称帝自封,表明他在全国范围内的政治控制力仍然不足。他虽然凭借强大的实力,一时割据了天下,但许多诸侯和将领并不心服,纷纷对其权威产生了怀疑和不满。
项羽刚一返回彭城,齐、赵等地的田荣、陈余便发动了反抗。与此同时,刘邦的军队趁项羽征讨叛军之机,突袭函谷关,成功夺回关中。至公元前205年1月,刘邦开始正式东进,展开了历时五年的楚汉战争。