楚汉双方相持不下,分不出胜负,这种拉锯战对民力是极大的损耗。青壮年男子都因服军役而受苦,老弱妇幼则疲于搬运物资。刘邦和项羽都有些看不下去了,项羽先站出来说:“这几年,天下不得安宁,都是因为你我二人。我愿意跟你单挑,一对一,别让老百姓因为咱俩而白白受苦!”刘邦笑着说:“我这个人啊,宁肯斗智,也不能斗力。”项羽不肯善罢甘休,就派了壮士前去挑战,结果壮士来到汉军营前就被弓箭射死,如此反复三次,项羽大怒,亲自上阵。他披甲持戟来到阵前,汉军要射击项羽,项羽怒目圆睁,汉军士兵吓得不敢正视,手颤抖得不敢放箭,便逃到营垒中不敢再出来。刘邦听说这件事后也大为惊吓。
“单挑”不成,项羽又找刘邦“谈判”。刘邦当面指出项羽的种种罪过,项羽恼羞成怒,要求与刘邦决战,刘邦仍然不肯。项羽早先埋伏好了弓箭手,放暗箭射中刘邦。刘邦胸前中箭,伤势严重,却捂着自己的脚说:“你射中我的脚趾了!”然后强撑着逃走。这时,东边战场又有新战况,韩信已经夺取河北,马上要攻击楚国。项羽赶紧派大将龙且去抵抗韩信,结果韩信大败楚军,杀了龙且。龙且是项羽手下头号大将,折损了龙且,项羽心中产生了恐惧,于是派人去游说韩信,韩信不肯归楚。
彭越又来挑衅项羽,烧楚军粮草,项羽忍无可忍,决定再狠狠教训一下彭越。出兵前,项羽嘱咐楚军:“无论汉军怎么挑战,你们切莫出战,只要保证汉军不再东进就行。我带兵出去十五天必定杀了彭越,回来与你们会合。”项羽出兵攻打彭越,数日不能攻下,后来守军力量不支而投降。这段时间,汉军果然屡次向楚军挑衅,起初楚军坚守不出,后来汉军派人侮辱,大司马曹咎怒不可遏,派兵出击,结果渡水时遭汉军偷袭,大败,物资也被汉军抢走。项羽听说留守的楚军打了败仗,又带兵赶回。楚军连续奔波,粮草物资又被抢劫,正是饥困交加,而汉军粮食充足,士气旺盛,此时交战,必然对项羽极为不利。占据有利形势的刘邦派使者与项羽讲条件,建议二人中分天下,以鸿沟为界,以西是汉地,以东是楚地。项羽欣然接受,并将刘邦的父母妻儿送了回去。
订立和约后,项羽率兵东归,刘邦也准备西去。张良、陈平劝刘邦说:“如今楚军正是兵疲粮绝之际,天要亡楚的时候到了!不如趁这个时候攻取楚军,如果错过了这个机会,那就是养虎为患啊!”刘邦听从张、陈二人的建议,发兵追击项羽的军队,并与韩信、彭越约定在固陵(今河南省淮阳县柳林一带)共同攻击楚军。刘邦的部队到了固陵,韩信、彭越却没有如期而至。张良献计说:“眼看楚军要攻破,韩信、彭越还没有分到土地,他们不来自然是意料之中的了!您如果能与他们共分天下,让他们来会合,他们一定立刻就到!”刘邦即刻给韩信、彭越传话,说楚破以后,陈地以东到海边的土地归齐王韩信,睢阳以北到谷城的土地给相国彭越。韩信、彭越果然积极出兵,一路上攻打楚军,直到垓下(今安徽省灵壁县东南);项羽手下的大司马周殷也背叛楚国,带兵来到垓下,围攻楚军。