刘邦在荥阳胜了项羽之后,大军运送粮草的甬道多次被楚军侵袭,导致军粮匮乏,将士们陷入恐慌。刘邦打算与项羽讲和,以荥阳为界,西边是汉王领地,东边是项王领地。项羽打算接受这个条件,范增反对说:“汉军是容易消灭的,现在放手,将来必定后悔。”项羽便听从范增的建议,火速围攻荥阳。刘邦被围,一筹莫展。
这时,谋士陈平献上一个“妙招”。陈平,阳武(今河南原阳东南)人,自幼喜爱读书,胸怀大志。秦末,陈平先后追随魏王咎、项羽,都没有得到重用。刘邦收复三秦之地后,陈平投靠刘邦,拜为都尉。面对荥阳被围的险境,陈平建议刘邦用计离间项羽和范增。项羽的使者来到刘邦军中,刘邦热情地招待,在捧着佳肴进送的时候,刘邦假装细看使者,惊讶地说:“哎呀!我还以为是亚父范增的使者,没想到竟然是项王的使者!”然后竟把佳肴收回,改为粗茶淡饭招待。这个使者回去,将情形原原本本地告诉项羽。项羽心生嫌隙,怀疑范增与刘邦私下有勾结,渐渐夺去范增的权力。范增大怒,自请辞归,项羽准许,范增在告老还乡的途中发病而死。可怜这位楚国谋士,为项氏忧心一生,自此,项羽身边再无可托付军国大事之人。
范增是除去了,但远水解不了近渴,围城之急仍然是火烧眉毛的事儿。刘邦的部将纪信又献计说:“请准许臣化装成大王诓骗楚军,大王趁机暗中出城!”夜里,纪信穿上刘邦的华服,乘坐黄屋车往城门而去。城门大开,先是放出去许多美女,后面跟着两千甲士,汉军大喊:“城中没粮食了!汉王出来投降了!”楚军一听汉王投降,都兴奋得高呼“万岁”。刘邦便趁乱带了数十人马,从另一个城门逃脱了。项羽赶到城门外,看到所谓的“汉王”是纪信,勃然大怒,将纪信烧死。不久,项羽占领荥阳。
刘邦逃出荥阳后,与九江王黥布会合,进入成皋(今属河南省荥阳市),在这里与楚军战了一场,又败。刘邦逃脱后奔向修武(今属河南省焦作市),获得了张耳和韩信的支援,在巩(今河南省巩县)大战楚军,终于获胜,阻挡了楚军西进的步伐。此时,彭越越过黄河,杀了楚将薛公,项羽又率兵去攻打彭越,将彭越打败。这一时期,项羽充当了“消防队员”的角色,到处“救火”。面对四处反叛的诸侯,他东征西讨,终于收复了中原一些失地,但队伍也因为长期奔波而疲惫,为后来兵败埋下了隐患。
汉军与楚军在广武(今山西省广武县)附近扎营,两军对峙数月。彭越在梁地(今河南省开封市一带)不断骚扰项羽的后方,断绝楚军粮草,让项羽感到很困扰。这时,刘邦与项羽的力量已经旗鼓相当,项羽腹背受敌,倒显得更力不从心一些。无奈之下,项羽只好做了一个高高的架子,将刘邦的父亲绑在上面,放在汉军可以看见的高处,告诉刘邦说:“你再不投降,我就烹杀了你老爹!”刘邦说:“我与项羽都是楚怀王的臣子,在怀王面前,我们约为兄弟。我的父亲也就是你的父亲,你如果要烹杀自己的父亲,别忘了分给我一杯羹!”项羽被激怒了,即刻就要杀了刘邦之父。项伯劝阻说:“争夺天下的人,顾不了家人,即便你杀了他父亲,也于事无补,只会增加祸患而已!”项羽认为言之有理,决定不杀刘邦的父亲,但也想不出什么法子能攻破汉军。