刘邦依计约到项伯,说明自己并无称王野心,并于项伯约成儿女亲家。项伯当天夜里就返回了军营,他对项羽说:“因为沛公先行进入关中,为我们扫除了入关的障碍,我们这才能顺利地通过函谷关,沛公是有功劳的人,我们不应该猜疑他,应该真诚相待。”项羽听了,便决定不再进攻刘邦。
第二天,刘邦来到了项羽的军营,只带了樊哙、张良和一百名精锐亲兵。到了项羽的大帐鸿门,当面向迎接他的项羽赔礼道歉。项羽请刘邦入内赴宴,项羽的亚父范增,一直主张杀掉刘邦,在酒宴上,一再示意项羽发令,但项羽却犹豫不决,默然不应。于是范增就叫项庄舞剑,名义上为酒宴助兴,趁机杀掉刘邦,项伯为保护刘邦,也拔剑起舞,掩护了刘邦,结果项庒没有成功。这时刘邦发现事情不妙,借故去上厕所离开,逃回了大营。这就是成语“项庄舞剑,意在沛公”和“鸿门宴”的由来。
不久,项羽入咸阳,烧阿房宫、杀秦王嬴子婴,表面上尊楚怀王为义帝,实际却将其发配到了江南,自立为西楚霸王,定都彭城(今江苏省徐州市),同时分封十八个诸侯,封刘邦为汉王,领巴蜀及汉中地,并故意封秦降将章邯、司马欣、董翳(意)为雍王、塞王、翟王,领关中地,以扼制刘邦。刘邦只好忍气吞声接受封号,于四月领兵入汉中、并烧毁栈道(用木板架在悬崖上铺成的道路),表示再也无意出兵,以麻痹项籍。项羽亦率军东归。五、六月,齐国贵族后裔田荣不满分封,赶走齐王,杀胶东王,自立为齐王。刘邦乘乱重返关中,击败章邯,迫降司马欣、董翳,并用计欺骗项羽,使其相信自己取得关中后已心满意足,再也不会东进了。项籍放心去攻打田荣,对西边没有防范。十月,刘邦挥军东出,拜韩信为大将,明修栈道,暗渡陈仓 (今陕西省宝鸡市东) ,名为义帝发丧,派人联络诸侯,公开声讨项羽,拉开了楚汉战争的序幕。
公元前205 年 四月,刘邦乘项羽在齐国停留的机会,率领诸侯联军56万一举攻占彭城。项羽闻之,急率精兵3万奔袭,歼灭联军30余万,刘邦仅率数十骑逃脱,反楚联盟瓦解。五月,刘邦到达荥阳,击败了楚军的追兵,得以端息,稳住了阵脚,遂重整军队,依托关中基地和有利地势,准备与项羽长期抗争。六月,刘邦派兵攻废丘,迫章邯自杀,解除了后顾之忧;派人说服英布反楚,联络彭越扰楚后方;派韩信开辟北方战场,攻魏俘魏王豹,破代,灭赵杀陈余。