这时候,吕后的哥哥周吕侯为刘邦带兵驻守下邑,刘邦顺小路去投奔他,渐渐地收集汉军士卒。到荥阳时,各路败军都已会集在这里,萧何也把关中没有载入兵役名册的老弱人丁全部都带到荥阳,汉军重又大振。楚军从彭城出发,一路上经常借着胜利的威势追击败逃的汉兵。可是在荥阳南面的京邑、索邑之间与汉军打了一仗,汉军打败了楚军,楚军因此不能越过荥阳向西推进。
项羽去援救彭城,追赶刘邦到荥阳,这时田横也得以恢复了齐地,立田荣的儿子田广为齐王。刘邦在彭城失败的时候,诸侯又都归附楚而背叛了汉。刘邦驻扎在荥阳,筑起两边有墙的甬道,和黄河南岸相连接,用以取得敖仓的粮食。汉三年前204,项羽多次侵夺刘邦的甬道,刘邦粮食匮乏,心里恐慌,请求讲和,条件是把荥阳以西的地盘划归刘邦。
项羽打算接受这个条件。历阳侯范增说:“汉军容易对付了,如果现在把它放走而不征服它,以后一定会后悔的”项羽和范增立即包围了荥阳。刘邦很担心,就用陈平的计策离间项羽。项羽的使者来了,刘邦让人准备了特别丰盛的酒筵,端过来刚要进献,一见使者又装作惊愕的样子说道:“我们以为是亚父的使者,没想到却是项羽的使者。”把酒筵重又撤回,拿来粗劣的饭食给项羽使者吃。使者回去向项羽报告,项羽竟真的怀疑范增和刘邦有私情,渐渐地把他的权力剥夺了。范增非常气愤,说:“天下事大局已定,君王您自己看着办吧。希望您把这把老骨头赐还给我,让我回乡为民吧。”项羽答应了他的请求。范增启程走了,还没走到彭城,由于背上毒疮发作而身亡。
楚汉两军相持很久,胜负未决,年轻人厌倦了长期的行军作战,老弱者由于运送粮饷疲备不堪。刘邦和项羽隔着广武涧对话。项羽要跟刘邦单独决一雌雄,刘邦则一项一项地列举项羽的罪状说:“当初我和你项羽一同受怀王之命,说定了先入关中者在关中为王,你项羽违背了约定,让我在蜀汉为王,这是你的第一条罪状。你项羽假托怀王之命,杀了卿子冠军宋义,而自任上将军,这是你的第二条罪状,你项羽奉命援救了赵国,本应当回报怀王,而你项羽却擅自劫持诸侯的军队入关,这是你的第三条罪状。怀王当初约定入关后不准烧杀掳掠,你却焚毁秦朝宫室,挖了始皇帝坟墓,私自收取秦地的财物,这是你的第四条罪状。你硬是杀掉已经投降的秦王子婴,这是你的第五条罪状。你采用欺诈手段在新安活埋了二十万秦兵,却封赏他们的降将,这是你的第六条罪状。你项羽把各诸侯的将领都封在好地方,却迁移赶走原来的诸侯王田市、赵歇、韩广等,使得他们的臣下为争王位而反叛,这是你的第七条罪状。你项羽把义帝赶出彭成,自己却在那里建都,又侵夺韩王的地盘,把梁、楚之地并在一起据为已有,这是你的第八条罪状。你项羽派人在江南秘密地杀了义帝,这是你的第九条罪状。你为人臣子却谋杀君主,杀害已经投降之人,你为政不公,不守信约,不容于天下,大逆不道,这是你的第十条罪状。如今我率领义兵和诸侯们来讨你这个残害人的罪人,只让那些受过刑的罪犯就可以掉你项羽,又何必劳累我来跟你挑战呢”项羽十分恼怒,埋伏好的带机关的箭射中了刘邦。刘邦伤的是胸部,却按着脚说:“这个强盗射中了我的脚趾”刘邦因受箭伤而病倒了,张良硬是请他起来出去巡行,慰劳部队,以便稳定军心,不让楚军占胜利的威势压过汉军。刘邦出去巡视军营,病情加重,立即赶回了成皋。
项羽罢兵回东方了,刘邦也想率军回西方。但刘邦采用张良、陈平的计策,乘楚军兵疲粮尽,索性就消灭它,于是进兵追赶项羽,到阳夏南面让部队驻扎下来,和齐王韩信,建成侯彭越约定日期会合,共同攻击楚军。刘邦到达固陵,韩信、彭越却没有来会合。楚军迎击汉军,把汉军打得大败。刘邦又逃回营垒,深挖壕堑固守。又采用张良的计策派使者封给韩信、彭越土地,使他们各自为战,于是韩信、彭越都来会合了。黥布和刘贾进入楚地,围攻寿春,刘邦却在固陵打了败仗,于是派人去召大司马周殷,让他出动九江军队击迎会武王黥布,行军途中屠戮了城父fu,甫,然后随刘贾、齐、梁诸侯的军队在垓下大会师。刘邦封武王黥布为淮南王。