陳勝、吳廣起義失敗後,劉邦投奔楚懷王的反秦大軍。楚懷王因為劉邦寬容大度,不像項羽那樣剽悍霸道,所以派他先入關中。劉邦進入關中後,約降秦王子嬰,滅掉大秦。
沛縣起義
劉邦,字季,生於楚國的沛豐邑中陽裏(故地在今江蘇沛縣),早在陳勝、吳廣起義之前,劉邦就已經組織了反秦武裝,隻是沒有進行起義。
劉邦為人豁達大度、不拘小節、好酒及色,喜歡以遊俠自任,整日裏浪蕩遊曆,結交了不少豪傑,但並不被父兄所喜愛,也不為鄉裏社會稱道認可,被視為無賴。前224年,秦始皇滅楚,劉邦所在的沛縣也被秦軍占領。秦滅楚之時,劉邦已經過了30歲,對務農毫無興趣的他參加了秦朝官員選拔考試,考試合格之後,34歲的劉邦被任命為沛縣下屬的泗水亭亭長。後來隨同劉邦起兵的漢帝國開國功臣,很多都是劉邦在泗水亭長任上結識的沛縣中下級官吏,例如後來的漢相蕭何、漢太仆夏侯嬰、禦史大夫任敖等。當時劉邦按照秦製也要服徭役,他在鹹陽服役期間有幸見到了秦始皇出巡的排場,心生羨慕,喟然感歎道:“嗟乎!大丈夫當如此也。”這句感慨也預示著劉邦不同於常人的心誌與命運。
前210年,秦始皇在沙丘暴斃,此時的劉邦已經46歲了。秦二世即位後,下令重新開工修建阿房宮與秦始皇陵,劉邦也要押解服役民工入鹹陽服徭役。在押解途中,不斷有人逃跑,劉邦估計,這樣下去走到驪山人就跑光了,自己難免受罰,於是索性放了所有的服役民工。當時,隊伍中有十幾個壯士跟隨劉邦落草芒碭山,人數慢慢壯大到一百來人。
前209年九月,陳勝、吳廣起義,關東各地紛紛起兵響應。九月,沛縣縣令也想響應起義,遂召集屬下蕭何和曹參商議如何起義。蕭何認為縣令率民起義不好,還是召外麵的人來起義更好,於是推薦劉邦。而當劉邦一行到達沛縣縣城時,縣令又反悔了,他懷疑蕭何、曹參串通劉邦要加害自己,所以下令關閉城門,同時逮捕蕭何、曹參。然而蕭何二人早已得到消息,就立即逃出城投奔劉邦。經過商議,劉邦寫了一封帛書,裝在箭上射到城上,帛書上寫:“天下苦於秦政已經很久了,現在諸侯並起,將要攻打沛城。沛縣令是外地人,反複無常,不為沛縣著想,卻叫大家為秦守城,一旦諸侯攻入沛城,大家都要身死家亡。為了守衛家鄉,我們不如殺掉縣令,在本縣子弟中選人立為縣令,響應諸侯反秦,這樣就可以保全家世。不然,父子俱屠,無為也。”沛縣人得到帛書之後,都願意響應劉邦的號召,大家就一起誅殺縣令,開門迎劉邦入城,推舉其為沛公。劉邦開始主持沛縣軍政大事,動員全縣子弟加入起義隊伍,組織起一支兩三千人的軍隊。
入關破秦
劉邦起義不久,就殺死泗水守壯,派屬下雍齒守豐。前208年,雍齒背叛劉邦,投降魏國。劉邦引兵攻打雍齒,沒有成功,就率眾投奔秦嘉。次年四月,項梁攻殺秦嘉,劉邦又率百餘騎投奔項梁。依靠項梁撥給自己的五千兵力,劉邦再次攻打雍齒,這次終於大勝。七月,秦將章邯圍攻齊國田榮,項梁與劉邦一起大敗章邯軍。八月,劉邦與項羽在雍丘大敗秦軍,殺死三川守李由。功績頗豐的劉邦為楚懷王任命為碭郡長,封武安侯。
前207年,楚懷王製訂了著名的“先入定關中者王之”的約定。項羽想要為自己的叔叔項梁報仇,主動請纓,要求率軍攻打關中。然而楚懷王恐怕項羽剽悍殘暴很難聽從自己指揮,就拒絕了他的請求,而派他輔助宋義,率軍北上巨鹿援趙。攻打關中的重任則給了劉邦,因為楚懷王認為劉邦一向寬大溫和,心懷仁義,更容易攻下秦國。項羽本來以為以自己的強大兵力,就算北上援趙耽誤一些時間,還是會比劉邦的雜牌軍早入關中。沒想到劉邦采用了避實就虛的策略,率軍跟在項羽大軍後麵,一路收集被擊潰的秦軍,補充兵力與糧食。途中,劉邦繞過秦軍重點布防的地方,而率軍經過稍南方的潁川一帶,占領潁川郡的翟陽,之後回避章邯軍駐守的函穀關,改從武關進攻。
當項羽在巨鹿破釜沉舟與章邯軍拚死決戰時,劉邦大軍已經攻入武關,直逼鹹陽城。秦相趙高派使者與劉邦商議,以殺死秦二世為條件,與楚軍瓜分關中,劉邦不同意。趙高還是殺死了秦二世,立子嬰為秦王。子嬰接任五天就誅殺趙高,緊接著,集結秦軍兵力據守嶢關,與劉邦大軍對峙。