漢高祖元年(前206年)二月,劉邦乘田榮起兵反楚之機,利用韓信的“明修棧道、暗渡陳倉”之計,翻越秦嶺,襲擊陳倉(今陝西省寶雞市東),重挫從廢丘倉促率軍馳援陳倉的章邯部主力,而後連續作戰,分兵略地,水淹廢丘(今陝西興平南),章邯兵敗自殺。漢軍還定三秦,取得了對楚的初戰勝利。
項羽聞漢王皆已並關中,且齊、趙也背叛自己,心中大怒,立即命故吳令鄭昌爲韓王,領兵出距漢軍;令蕭公角等進擊彭越。張良見項羽準備與劉邦決戰,乃再次遺書項羽曰:“漢王失職,欲得關中,如約即止,不敢東”,穩住項羽,並且又示以齊、樑反書曰:“齊欲與趙並滅楚”,將項羽的注意力再次引入齊地。項羽權衡利弊後,覺得齊地不穩,直接威脅楚國的核心,因此暫時擱置了西征的打算,而盡遣精銳北擊田榮,同時,徵兵九江王英布。而布則稱疾不往,只令部將將數千人前往。項羽心中十分不滿,由此其與英布之間的關係不斷惡化,導致了英布後來的叛楚歸漢。
漢高祖二年(前205年)冬,項羽遂北至城陽,田榮亦將兵會戰。田榮不敵楚軍,敗走平原,被當地民衆所殺。項羽又一次體現了自己暴虐的一面,在其獲勝後,燒夷齊城郭室屋,坑殺了田榮的全部降卒,虜其老弱婦女,徇至北海,多所殘滅。齊人不堪忍受項羽的暴行,再次相聚而叛。田榮的弟弟田橫收齊亡卒得數萬人,重返城陽(今山東荷澤東北),與楚軍相持,牢牢地拖住了項羽的主力。
齊、楚軍膠着於城陽,造成了楚都彭城空虛。據《史記·高祖本紀》記載,劉邦藉此率軍出關,發使者將“項羽殺害楚懷王”之事遍告天下諸侯,並親爲義帝發喪,約會各路諸侯共擊楚之殺義帝者。之後,在洛陽大會諸侯,聲勢巨大,聚集諸侯聯軍達五十六萬之衆,分路三路,合擊彭城。漢將曹參、灌嬰、周勃等率軍從圍津(今山東東明)渡過黃河,攻佔煮棗(今山東東明南),擊敗楚大將龍且、項佗於定陶(今山東定陶西北),兵抵胡陵(今山東魚臺東南),從西北面抄襲彭城;將軍薛歐、王吸、王陵率軍由宛(今河南南陽)經葉縣(今河南葉縣西南)出陽夏(今河南太康),從南面攻楚;劉邦率夏侯嬰、盧綰及各路諸侯軍經曲遇(今河南*東北),向東南攻佔外黃(今河南蘭考東南)時,彭越率三萬人馬歸附。爲掩護聯軍側後,劉邦拜彭越爲魏相,令其攻佔樑地(今河南東北部)。而項羽寄以厚望的九江王英布卻趁此坐山觀虎鬥。此後,劉邦軍由西向東連克碭(今河南夏邑東南)、蕭(今安徽蕭縣西北)二縣,順利攻佔彭城。此時,在政治、軍事大環境上,項羽都陷入了空前的孤立,面臨着“兩線作戰”、“兵力懸殊”、“後方淪陷、孤軍外懸”、“盟友背叛”等挑戰。項羽確實是一個亙古爍今的英雄,往往在絕命一擊之時,能夠爆發出驚人的能量。爲此,其進行了大膽而又迅速的戰術部署:表面上,以諸將率領大軍繼續平定齊國,作爲迷惑劉邦的手段;暗地裡,自己親自帶領三萬精兵由魯(今山東曲阜)迅速南下,出胡陵佔領蕭縣,切斷聯軍退路,隨後由西向東反攻。楚軍攻佔蕭縣之時,漢軍和諸侯聯軍已破彭城。項羽乘劉邦“縱情享樂、疏於防範”之機,晨時發起進攻,中午即大破諸侯聯軍,將劉邦所部擠壓於谷水、泅水(位於今江蘇徐州市西)之地。聯軍自相踐踏,被楚軍斬殺十餘萬人,餘部向西南山地潰退。楚軍追至靈壁(今安徽濉溪西南)的睢水再殲聯軍十餘萬漢軍逼入睢水,並圍困劉邦,意圖生擒。值大風驟起,飛沙走石,劉邦才勉強率數十騎逃走。此戰,劉邦遭到嚴重挫折,諸侯紛紛背漢向楚。
“彭城之戰”中,項羽利用楚軍大部分兵馬佯攻齊地,自領三萬銳卒,迂迴聯軍側後,快速迫近彭城,在“神不知、鬼不覺”的情況下,佔領了彭城的門戶蕭縣,並擇機突襲劉邦率領的諸侯聯軍。決戰之時,羽又故技重施,選擇各支部隊的結合部,進行穿插,直刺漢軍腹心,令其指揮系統全面癱瘓。突然出現在聯軍面前的楚軍,戰鬥力極具震撼,一時間虛實難辨。諸侯聯軍見劉邦中軍被毀,以爲楚軍大至,也就徹底崩潰了。從戰役角度講,項羽將“隱秘性”、“突然性”、“致命性”突襲戰法的三要素巧妙地結合起來,“快速迫擊、擇機突襲、利用間隙、直插心腹”的一系列類似如今美軍“斬首行動”的項羽標誌性戰術串聯,在氣勢上佔據了絕對的上風,徹底打垮了對手。是役,楚軍取得了堪稱稱作完勝的結局,不但殲滅劉邦主力,使劉邦陷入“發關中老弱未傅悉詣滎陽”的危機局面。在政治環境方面,原來投向劉邦的諸侯此時又背叛劉邦,有的重回項羽麾下,如塞王董翳、翟王司馬欣,有的則脫離劉邦,轉而走向與其對抗,如魏王豹,陳餘。基本上扭轉了項羽孤立無援的政治局面,重新佔據了楚漢戰爭的主動權。
但是這場完勝的戰役卻也留下了遺憾,主要就在於沒能除掉漢王劉邦,使其逃往西邊,佔據“滎陽-成皋”之地利,依靠關中的資源和民心,與項羽展開了長達四年之久的持久相持。劉邦充分利用時間這一重要因素,使得漢軍出秦川三軍並進、攻城略地後,佔據了堅實戰略縱深、較多進攻線路的戰略優勢得以充分發揮,從而彌補自身戰術上的劣勢。此外,項羽軍事才能出色,卻缺乏政治頭腦,在戰爭中製造了太多的屠城與殺降,征服一地、殺戮一方,殘暴程度有過於秦庭,這也就激起了山東民衆的怨恨,當垓下之戰時,項幾乎與全天下爲敵。最終,劉邦也是利用了項羽的這個弱點,憑藉自己軍政集團的整體實力,拖跨項羽,贏得了天下。