隨著陳留陷落,趙賁的潰逃,楊熊的被殺。秦廷在碭郡的統治徹底崩潰。而秦廷殺死敗逃至滎陽的楊熊一行為,更是自毀門戶,使得三川郡方向只剩下趙賁一個方面大將支撐。三川郡與潁川郡門戶打開後,劉邦軍開始分兵。首先是劉邦在擊破楊熊軍後即南攻潁陽,這一路主要有劉邦、周勃、樊噲、酈商。秦二世三年,四月。劉邦領軍到達潁陽城下,從潁陽戰後劉邦“屠之”的行為來看,潁陽的抵抗應當相當激烈。而隨著潁陽的陷落,秦廷在潁川郡的統治也徹底瓦解。攻下潁陽之後劉邦又接著攻下了長社。另一路則由曹參率灌嬰、傅寬等一路向西進發,與潁川郡的層層抵抗不同的是,在陽武秦軍抵抗失敗後,一直向西到緱氏附近的轘轅,基本上都沒有什麽抵抗。劉邦在張良的協助下拿下了韓地的轘轅關,轉而拿下緱氏縣(今河南偃師區)。這一路接連打下韓地的十多座城邑,還擊潰了秦將楊熊遺留在這裡的守軍。劉邦攻取韓地陽城(今河南省鄭州市登封市告成鎮王城崗)期間,讓張良憑借韓國司徒的身份去招降韓國舊地,得到韓國王室後裔韓信(後來的韓王信,非“三傑”韓信)的加入,並讓他擔任韓王成的將領。劉邦收復了韓國舊地之後,讓韓王成留守韓國舊都陽翟,他帶著張良繼續向西進軍,韓信(韓王信)也率領他的軍隊跟隨劉邦。
就在劉邦向南陽的時候在進軍途中,正好聽說趙國別將司馬卬打算率軍渡過黃河進入函谷關。於是劉邦轉而北向進攻平陰縣,拿下平陰縣之後呢就等於把這一個黃河的渡口給截斷了,不讓司馬卬從此進入函谷關。攻下平陰縣之後劉邦向南陽行進,他帶著麾下曹參、周勃、樊噲、酈商、夏侯嬰、灌嬰等人分別在洛陽東面、屍鄉北面與想要從開封回援洛陽的秦將趙賁所率領的秦軍交戰,這兩戰都以劉邦勝利而告終。既然趙賁已經被打敗了,那麽就繼續攻洛陽吧,可這洛陽也是塊難啃的骨頭,高城深池的攻了許久也沒能攻克。劉邦其實也是急著向攻入關中,因為西征之前楚懷王就曾約定,先入關中者就可以在關中稱王。於是呢劉邦繼續秉承“難啃的骨頭從來不啃”的原則。兵鋒一轉,南下奔著南陽去了。在向南陽行進的路上還拿下了陽城,並且收編了陽城的騎兵部隊。接下來就到了南陽的地界了,分別在犨縣(故城址在今魯山縣張官營鎮西約2.5公裡)東面、陽城東面擊破南陽郡守呂齮,呂齮退守宛城(就是今天的南陽市宛城區)。
本來劉邦又想繞過宛城繼續西進的,畢竟約定好了先入關中者可在關中稱王嘛。可這回張良實在是看不下去了,勸說劉邦說道:“您雖然著急想進入關中,但是現在的秦國兵馬還是很多,而且都是據守在險要的關隘。如今要是不拿下宛城,等您率兵西進的時候他們從背後襲擊我們,前面又有秦兵據守險要關隘阻撓,我們的處境就很危險了。”於是呢劉邦聽從了張良的建議,連夜率兵從另一條路返回,而且還變換了旗幟(咱們之前說過,劉邦的部隊旗幟是赤紅色的,這回為了打個出其不意旗幟顏色也換了。至於是換成啥顏色咱就不知道了)回過頭來進攻宛城,在天還蒙蒙亮的時候,就已經將宛城給圍的是裡三層外三層的了。劉邦讓樊噲為先鋒,樊噲的先鋒部隊貢獻了城門,率先登城了。南陽郡守呂齮聽說樊噲已經破城了,便想要自刎了事。這時他有一個門客叫做陳恢的阻止了他。陳恢說:“您先別著急著死,您可以向劉邦投降啊,若是他不肯再死也不遲。”於是呂齮就讓陳恢為使者,越過城牆去見劉邦。陳恢見到劉邦後說道:“臣下聽說沛公您西征之前有約定先入鹹陽者,可在關中稱王。如今您留守宛城,宛城乃是南陽郡這樣一個大郡的都城,鏈接著數十座城池,百姓眾多,糧食儲備無數。宛城的官吏認為如果投降,也是必死無疑的,所以他們都登城堅守。現在您如果停止西進的步伐,強行進攻宛城,士兵死傷無數。如果您不進攻宛城引兵西進,那麽宛城必然成為您的後顧之憂。這樣的話恐怕您先是失去了鹹陽之約,後又留下了宛城這樣一個強大的後患。”劉邦說:“那我該怎麽辦呢?”陳恢繼續說道:“為了您著想,不如約降他們封賞他們的郡守,讓他們留守宛城,領著宛城的兵士與您一起西征。這樣的話,以後其他城池聽說這件事之後,也會對您開城而待,您的西征就會暢通無阻了。”劉邦一聽完,讚揚道:“您在計策真是太好了!”所以劉邦就同意與呂齮約定了舉城投降,並且封呂齮為殷侯,封陳恢為千戶侯,至此整個南陽郡算是全部平定了。
在劉邦招降宛城之後,率軍西行,一路上個地那是紛紛歸降。大軍行至丹水(今河南淅川)的時候,高武侯鰓、襄侯王陵也帥軍歸降,加入了劉邦所率領的西征大軍攻下了西陵、胡陽。在攻胡陽的時候遇到番君吳芮的麾下將領梅鋗也率軍到這裡,劉邦與梅鋗合軍又攻下了析、酈等縣城。
這裡咱們先說一說番君吳芮吧。吳芮他是番陽(今江西鄱陽縣)人,他這個人在江湖上很是得人心,原先他是番縣的縣令,號稱“番君”。在秦二世元年七月(前209年8月9日至9月7日期間),陳勝等人在大澤鄉起事之後,各地也都紛紛起義響應。這時逃亡在長江聚眾成為群盜的英布就來找到了吳芮,協同吳芮的部眾一起起義反叛秦朝,兩人聚集起幾千人的隊伍。吳芮還把自己的女兒嫁給英布為妻。於是吳芮率領越人起兵響應各地的反秦鬥爭。在後來項羽分封諸王的時候,被封為衡山王。他麾下的將領梅鋗也因為功勞被封賞食邑十萬戶,漢朝成立後劉邦又封他為長沙王,在他死後他兒子吳臣繼承了他的王位。
劉邦西征大軍一路勢如破竹,所過之處在宛城之後各地更是望風而降,大軍現在已經抵達了武關東面了。劉邦於是派魏人甯昌為使者出使秦廷,這時候章邯也已經投降了項羽。而秦國朝廷之上趙高在接見了劉邦的使臣之後就派人弑君,殺了秦二世。並讓甯昌回報給劉邦,說想要跟劉邦平分關中。劉邦認為趙高在使詐,所以聽從張良的計策。讓酈食其和陸賈去遊說勸降武關的守將,許諾給他們利益,然後趁機偷襲武關得手。在這之後劉邦自己接著引軍西進,另一面又讓酈商率一路軍去攻克了漢中、巴、蜀等地。
而趙高這邊在殺了秦二世胡亥之後,本來是想著自己登基當皇帝的, 但是又怕文武百官不會聽從他。於是他就立了子嬰為秦王。子嬰早在當公子的時候,就已耳聞目睹了趙高的種種罪行。被趙高推上王位,知道自己不過是一個傀儡罷了。子嬰不願再重蹈胡亥的覆轍,便與自己的貼身宦官韓談謀劃斬除了趙高並且滅了他的三族。子嬰在殺了趙高之後馬上就派兵去嶢關(故址在西安市藍田縣城南,因臨嶢山得名)去鎮守。劉邦領軍到此地時本想發動進攻,直接攻城。但是張良認為秦軍目前以逸待勞,戰力還是很強的,不能草率的進攻。建議劉邦對守將許諾給他重利,招降他。劉邦就派人去跟守將說,秦王朝馬上就要滅亡了,你們還在這裡苦守與天下人為敵嗎?不如引兵歸降,我給你封侯拜相蔭澤子孫這樣不好嗎?於是嶢關的守將決定歸降劉邦,派人來回復劉邦說我們請求投降。劉邦剛想要答應下來,張良又來了,他對劉邦說:“這是將領因為您許給了他們重利所以投降,恐怕士兵們未必會聽從他們的安排跟著投降。不如現在趁著他們懈怠的時候攻擊他們。”於是劉邦又聽從張良的建議,帶著軍隊繞過嶢關,跨越蕢山先是在藍田縣的南邊打敗了秦軍,後又在藍田縣的北面再次大敗秦國軍隊。這兩次大敗秦軍之後,秦朝也徹底的喪失了抵抗諸侯的力量。兒劉邦也先於其他諸侯率先入關駐軍霸上。
秦王子嬰元年(前207年)十月,秦王子嬰搭乘著一輛又白馬拉的樸素的馬車,用絲帶綁在自己的脖子上,手裡捧著皇帝的玉璽符節,在軹道旁邊向劉邦投降。一統六國的秦王朝僅僅過了十五年便滅亡了。