項羽和劉邦原來約定以鴻溝(今河南滎陽境內)東西邊作為界限,互不侵犯。後來劉邦聽從張良和陳平的規勸,覺得應該趁項羽衰弱的時候消滅他,就又和韓信、彭越等會合兵力追擊正在向東開往彭城(今江蘇徐州)的項羽部隊。終於布置了幾層兵力,把項羽緊緊圍在垓下(今安徽靈璧東南)。
這時,項羽手下的兵士已經很少,糧食又沒有了。劉邦為了快速取勝,在心理上打敗項羽,就布置了很多官兵在項羽的營外唱楚地的民歌。項羽夜裏聽見楚歌從四麵八方傳來,不禁吃驚地說:“劉邦已經得到了楚地了嗎?為什麼他的部隊裏麵楚人這麼多呢?”說著,心裏已喪失了鬥誌,便從床上爬起來,在營帳裏麵喝酒;並和他最寵愛的妃子虞姬一同唱歌。唱完直掉眼淚,在旁的人也非常難過,都覺得抬不起頭來。一會兒,項羽騎上馬,帶了僅剩的800多名騎兵,向南突圍逃走。邊逃邊打,到了烏江畔,覺得無顏麵對家鄉江東的父老,自刎而死。
因為這個故事裏麵有項羽聽見四周唱起楚歌,感到吃驚,接著又失敗自殺的情節,所以後人就用“四麵楚歌”這句話,形容人們遭遇各方麵攻擊或逼迫,而陷於孤立窘迫的境地。