项籍在击败彭越后,寻汉军主力决战不成,屯兵广武(今荥阳北)与刘邦形成对峙。
不久,韩信在潍水之战中歼灭齐楚联军,完成对楚侧翼的战略迂回,又派灌婴率军一部直奔彭城。
项籍腹背受敌,兵疲粮尽,遂与汉订盟,以鸿沟为界,中分天下,东归楚,西归汉,公元前203年10月,项籍引兵东归。
楚、汉订盟后,刘邦本想退兵,践行穷寇莫追的守则,但在张良、陈平提醒下,他还是下令全力追击楚军,选择了乘胜追击,公元前203年11月,两军战于固陵(今淮阳西北),项羽小胜。
公元前202年1月,刘邦以封赏笼络韩信、彭越、黥布等,垓下一战重创楚军。
公元前202年1月,刘邦、韩信、刘贾、彭越、英布等各路汉军约计70万人与10万久战疲劳的楚军于垓下(今安徽灵璧县南)展开决战。汉军以韩信率军居中,将军孔熙为左翼、陈贺为右翼,刘邦率部跟进,将军周勃断后。
韩信挥军进攻,采用诱敌深入战术,前军先诈败,信引兵后退,命左、右翼军包抄攻击楚军后部步军。
楚军久战疲劳后军迎战不利,汉军将楚后军与项羽前军骑士分割两半,韩信再指挥全军反击,楚军大败,阵亡四万余,被俘两万,被打散两万,仅剩不到两万伤兵随项羽退回阵中。
后楚军退入壁垒坚守,被汉军重重包围。
楚军兵疲食尽韩信命汉军士卒夜唱楚歌,歌云:“人心都向楚,天下已属刘;韩信屯垓下,要斩霸王头!”
致使楚军士卒思乡厌战,军心瓦解,项羽只有率800人突围至乌江(今安徽省和县境,程喜今日残兵的人数和当初的项羽差不多,
这时项羽身边只剩下28骑了,一亭长愿带项羽逃至江东重振霸业,遭项羽拒绝。
项羽带着28骑大战汉军,最后全军覆没,项羽不愿被俘受辱,于是在乌江自刭而死。