汉军虽然在许多战场上取得了胜利,但在主战场上与楚军相比,仍居于劣势。当时,项羽正进攻齐国,听说汉军占领了彭城,立即回军向汉军进攻,大破汉军。刘邦仅与数十骑逃脱,退守荥阳。此后,刘邦与项羽展开了长时间的拉锯战。项羽两破荥阳,三占成皋;刘邦也两次收复荥阳,三次夺回成皋。其间,刘邦采用陈平的计谋,用反间计使项羽怀疑范增与汉私通,范增气死,致使项羽失去了一个高级谋臣。汉王五年十月,刘邦遣使通告韩信、彭越联合军力。
十二月,汉军三十万人在垓下团团围住楚军。项羽被围垓下,夜晚听到四面的汉军都唱起了楚歌。阵阵楚歌委婉凄凉,楚军士兵无不为之黯然神伤。项羽大惊,说:“汉军已经完全征服楚国了吗?要不然汉军中怎么会有这么多的楚人呢?”刘邦设计致使楚军军心涣散,最终大败于汉军。