公元前203年,项羽攻下荥阳,处死荥阳守将周苛、枞公,而刘邦走宛、叶,派人说服英布背叛项羽,进入成皋。
项羽得知后迅速率兵前来攻打,夺下成皋,一路西进,刘邦逃亡巩县,派重兵阻挡,项羽无法挺进。
此时,彭越渡河攻击东阿,楚将薛公兵败身死,项羽于是亲自率军攻打彭越,彭越败走,但成皋却被刘邦趁机夺下。
项羽回军与刘邦对峙于广武,相持了几个月,项羽向刘邦单挑,但刘邦不肯,于是,项羽派壮士出来挑战,但被楼烦人射杀。
项羽大怒,身披铠甲手持长戟来挑战,楼烦人准备射项羽,项羽怒目而视,将楼烦人吓得不敢出来。
刘邦听闻后,出来和项羽对话,项羽又向刘邦挑战,刘邦不从,项羽以弩射伤刘邦,刘邦退入成皋。
韩信于河北攻破齐、赵等国,并准备进攻楚国,项羽派大将龙且前往进攻韩信,但却被韩信所破杀。
这时,彭越又于上谷城复出,项羽大怒,亲自前往救援,留大司马曹咎原地待守,并告诫他不要出战,只需守住十五日即可。
项羽走后,刘邦军前来挑战,曹咎大怒,引兵渡汜水,刘邦军趁机发动进攻,大破曹咎军。
项羽听闻曹咎兵败,引兵而回,这时,刘邦军正于荥阳东围攻钟离眜,听到项羽回来了,非常害怕,全部退走。
项羽腹背受敌,又粮草不继,于是,送还刘邦家眷,与刘邦签订盟约,以鸿沟为界,中分天下。
鸿沟和议后,项羽引兵东归,刘邦却趁这个时候突然撕毁盟约,追击项羽,想要把项羽一举消灭。
但和刘邦约定一起出兵的韩信和彭越却没有来,项羽引兵反击刘邦,大破汉军,刘邦于是深沟高壑,坚守不出。
刘邦以加封土地为条件,说动韩信从齐地南下,占领楚都彭城和今天苏北、皖北、豫东等广大地区,兵锋直指楚军侧背,自东向西夹击项羽。
梁王彭越率军数万从梁地出发,先南下后西进,与刘邦本部军共同逼楚军后退。
汉将刘贾率军数万会同九江王英布、合兵十万,自淮北出发,从西南方发动对楚地的进攻,先克寿春,再攻下城父并将此城军民全部屠尽。
而镇守南线的楚将大司马周殷却在此时叛楚,先屠灭六县,再与英布、刘贾会师,随后,北上合击项羽。
同时,得到关中兵丁补充的刘邦则率本部军二十万出固陵东进,汉军五路大军、合计近六十万之众,形成从西、北、西南、东北四面合围楚军之势,项羽被迫率十万楚军向垓下后撤。
刘邦以韩信引兵三十万为前军,将军孔熙为左翼、陈贺为右翼,刘邦率部跟进,将军周勃断后。
项羽引兵十万,先与韩信大战,韩信军失利往后退却,令左右两翼包夹项羽军,项羽军抵敌不住,于是往后撤,韩信趁机反击,项羽军大败,退到壁垒坚守,刘邦乘胜领大军将项羽重重包围。
项羽军在垓下,不但兵少,而且粮草不够,又被刘邦几十万大军包围,于是,率领八百骑兵趁夜突围。
天亮后,汉军发觉项羽离去,于是,灌婴率五千精锐骑兵追击,等他渡过淮河,随从的骑兵只有一百多人了。
来到阴陵时,项羽迷路了,他去问一个老农,老农回答:“左”往左去,陷入了一片沼泽,耽误了时间。
汉军追了上来,经过一场激战,项羽又往东去,到达东城的一座山上,只剩下了二十八骑,而追击的汉军却有数千人。