公元前205年5月至公元前203年8月期间,西楚霸王项羽和汉王刘邦,围绕战略要地成皋(今河南荥阳汜水镇)展开了一场决定汉楚兴亡的持久战,前后历时两年零三个月,史称成皋之战。垓下之战是成皋之战的继续,也是楚汉相争的最后一战。成皋之战结束两个月左右,即公元前202年10月,刘邦追击项羽,12月在垓下大败楚军,项羽全军覆没,楚汉战争结束,汉王朝建立。
公元前203年10月,刘邦听取谋士郦食其的建议,乘项羽东去之机,反攻成皋。汉军反攻成皋的同时,郦食其奉命游说齐王。这时,韩信已经破魏、赵,降燕,平定三齐,占领了楚东部和北部大部分地区,完成了对楚的战略包围。彭越的游军则不断扰乱楚军后方,又攻占了昌邑(今山东金乡西)等20多座城池,并多次截断楚军补给线,至使项羽腹背受敌。
在项羽东撤之际,刘邦原本也打算西撤。但是,张良、陈平一致建议刘邦应当乘胜追击,以免放虎归山。公元前202年10月,刘邦背弃和约,乘项羽引兵东撤之际,约韩信、彭越,果断实施战略追击,以图歼灭楚军。
公元前202年12月,项羽在垓下被汉军包围,外无援军。楚军几次和汉军交战都不能取胜,兵力损失非常大。为了彻底瓦解楚军,刘邦命令汉军大声唱楚曲。项羽和楚军士卒听到四面楚歌,以为楚地尽失,皆无战心,至使一代霸王自刎乌江。