公元前202年,楚漢之爭已進行了近四年之久,項羽和劉邦在鴻溝附近相持不下,後來雙方決定議和,雙方約定以鴻溝(今河南榮縣境賈魯河)東西邊作為界限,互不侵犯。項羽率軍東歸,劉邦也準備西撤。
這時劉邦的謀士張良和陳平趕緊規勸劉邦,告訴他應該趁項羽衰弱的時候消滅他,這是千載難逢的時機,可一戰而定。劉邦便開始率軍追擊項羽。
劉邦靠自己的軍隊並不能擊敗項羽,便聯合了韓信、彭越、劉賈等人的兵力,封他們為王,大家會合在一起,共同追擊正在向東開往彭城(今江蘇徐州) 的項羽部隊。追上之後,韓信指揮漢軍布置了幾層兵力,把項羽緊緊圍在垓下(今安徽靈璧縣東南)。
兩軍這天交戰,楚軍左衝右突始終不能衝出重圍,天黑之後,漢軍抵楚營外,韓信派人召集了軍中的楚地人,讓他們唱楚歌,也讓其他士兵學唱,至夜,漢軍營中楚歌四起。其歌雲:
九月深秋兮四野飛霜,天高水涸兮寒雁悲傷。最苦戍邊兮日夜彷徨,披甲持戟兮孤立沙崗。離家十年兮父母生別,妻子何堪兮獨宿空床?白發倚門兮望穿秋水,稚子憶念兮淚斷肝腸,家有餘田兮誰裹蒿糧》魂魄悠悠兮往之所以,壯士寥寥兮付之荒唐。漢王有德兮降軍不殺,指日擒羽兮玉石俱傷。我歌豈誕兮天譴告汝,汝知其命兮勿為渺茫。
楚軍士兵聽了,思親戀鄉之情,多年征戰之苦,一齊湧上心頭,頓覺憂思難抑,肝腸寸斷,再也不想打仗了。
這時,項羽夜裏剛要睡著,忽聽見四麵圍住他的軍隊都唱起楚地的民歌,不禁非常吃驚地說:“劉邦已經得到了楚地了嗎? 為什麼他的部隊裏麵楚人這麼多呢?”疑惑之際,又為楚歌歌詞及曲調而動容,想起眼下的兵士經過幾番交戰,人數已經不多,糧食又沒有了,又念及自己八年前帶領八千江東子弟起兵,縱橫四方,自己也曾雄霸天下,而今竟然被十麵埋伏,四麵楚歌,心下以為楚國人都在抱怨自己,不由得喪失了鬥誌,便從床上爬起來,在營帳裏麵喝酒,還即時寫了一首詩,自己含著淚在帳中唱,詩曰:“力拔山兮氣蓋世,時不利兮騅不逝,騅不逝兮可奈何?虞兮虞兮奈若何?”在一旁的人也非常難過,都覺得抬不起頭來。
詩裏所唱的“虞兮”是說的項羽最寵愛的妃子虞姬,她聽到楚歌聲,便也起來陪項羽一起飲酒。她聽項羽唱完詩,也直掉眼淚,便為項羽的詩和了一首,執劍起舞而唱道:“漢兵已略地,四麵楚歌聲,大王意氣盡,賤妾何獨生?”唱完後自刎於項羽的麵前。
及至天色微明,項羽率八百騎兵奮力衝出重圍,帶了僅剩兵卒奔至烏江岸邊,後漢兵大軍追至,項羽遂自刎於江邊。
知人心者馭人,善攻心者善勝