在公元前209年七月,陳勝、吳廣首先發動大澤鄉起義,一時間天下群雄紛紛響應。在所有起義將領中有兩位,一位叫做項羽,據說是以前楚國的一位名叫項燕的將領的后代,另一位叫做劉邦,是一個叫做沛縣的地方的人,人們都稱他為沛公。
陳勝、吳廣的起義很快就被秦國的將領章邯鎮壓下去了,但項羽和劉邦在項羽叔叔項梁的領導下部隊卻得到了發展。當時,燕、趙、齊、魏都已經恢復了自己的國家, 項梁也恢復了楚國,并擁立前楚王的后代為楚國的王,也叫楚懷王。
不久,項梁在和章邯作戰中戰死。章邯率領秦軍進攻趙國,這時楚國決定分兵兩路,一路北上救趙國,一路西進討伐秦國。救趙國這一路由一個叫做宋義的人統帥,項羽為次將;討伐秦國的這一路由劉邦統帥,楚懷王還和大家相約:先進入秦國的關中的人就封為關中王。
救趙國這一路軍隊的統帥宋義在出發后就停止前進,準備等敵人虛弱后在進攻,而項羽則認為應該馬上進攻,項羽干脆殺了宋義,自己率領軍北上營救趙國,他們和秦軍在巨鹿決戰。在決戰前需要過一條叫做漳水的河,過河后項羽命令把渡河的船鑿沉,將吃飯鍋打碎,以表明自己不要退路勇往向前的決心,這也是成語破釜沉舟的由來。果然楚軍士兵們個個奮勇殺敵,在巨鹿之戰中擊敗了秦軍。
另一路在劉邦的帶領下,先后經過幾個月的轉戰,于公元前207年來到秦朝首都咸陽郊外,在藍田擊敗了秦軍的最后的主力,秦王向劉邦投降。秦朝滅亡了。劉邦入咸陽,廢除了秦朝嚴苛的法律,劉邦與老百姓們約法三章,就是殺人者死,傷人者刑,及盜抵罪。于是秦朝的老百姓都非常擁戴劉邦。
項羽在打敗秦軍,也領兵直奔關中而來。看到劉邦先進入關中很憤怒,項羽于是下令準備在第二天進攻劉邦。這時的劉邦在兵力有十萬軍隊,不可能戰勝項羽的四十萬精兵。 最后是項羽的叔叔項伯“救”了劉邦,由于項伯和劉邦的謀士張良很要好,見到項羽要進攻了,便連夜潛入劉邦營中找到張良,讓他趕緊走,以免被殺。 張良卻說不能丟下劉邦,張良讓劉邦趕緊去見項伯,說明自己沒有野心和項羽爭奪王位。項伯當天夜里就返回了軍營,他對項羽說劉邦是有功勞的人,我們不應該猜疑他,應該真誠相待。項羽聽了,決定不再進攻劉邦。
第二天,劉邦來到了項羽的軍營,向迎接他的項羽賠禮道歉。項羽請劉邦入內赴宴,項羽的亞父范增,一直主張殺掉劉邦,在酒宴上,一再示意項羽發令,但項羽卻猶豫不決,默然不應。 范增召項莊舞劍為酒宴助興,趁機殺掉劉邦,項伯為保護劉邦,也拔劍起舞,掩護了劉邦,項莊沒有刺殺成功。 這就是成語“項莊舞劍,意在沛公”的由來。后來劉邦借故離開,回到了大營。 這就是歷史上有名的鴻門宴。
鴻門宴后,項羽火燒了阿房宮,洗劫秦朝的關中地區。項羽還進行了分封,他把劉邦分封到四川及漢中,為漢王,自己封自己為西楚霸王。其他的諸侯國也各有分封,但很多人都不滿意,所以分封不久后齊國就打起來。項羽正在解決齊國的事情的時候,劉邦趁機從四川出來和項羽爭奪天下。
公元前205年,劉邦和各路諸侯趁項羽在齊國的時候占領楚國的首都彭城,項羽得知后,留部分軍隊繼續擊齊,自己率領精兵3萬疾馳南下,乘劉邦陶醉于勝利,戒備松懈之際,于清晨時發動突然襲擊,于是大敗漢軍。劉邦退到滎陽附近,后來和項羽在滎陽反復戰斗。
在和項羽戰斗的同時劉邦還派韓信消滅各個諸侯,韓信接連消滅了魏國、代國、趙國和齊國。另外劉邦派人說服在以前項羽的將領英布反楚,聯絡另外一個將領彭越擾楚后方
這樣項羽周圍都是劉邦的軍隊,而且士兵很疲憊也沒有糧食,于是項羽提出與劉邦訂立盟約,以鴻溝為界,中分天下,東歸楚國,西歸漢國。公元前203年盟約簽訂后,項羽帶兵返回楚國。
楚、漢訂盟后,劉邦本想退兵,在張良提醒下,下令全力追擊楚軍。公元前202年1月,劉邦聯合韓信、彭越、英布等將領,在現在安徽地區的垓下一戰中重創楚軍,并將楚軍重重包圍。楚軍兵疲食盡。韓信還命漢軍士兵夜里唱起楚國的歌,致使楚軍士卒以為楚國已經全部被占領,軍心瓦解,這就是四面楚歌的由來。項羽最后率800人突圍,至烏江(今安徽省和縣境),這時項羽身邊只剩下28人了,一老人愿帶項羽逃至江東重振霸業,遭項羽拒絕。項羽帶著28騎返回戰場大戰漢軍,最后全軍覆沒,項羽不愿被俘受辱,在烏江自剄而死。
于是楚漢之爭才結束,劉邦建立起一個偉大的王朝-漢朝。