漢高祖二年(前205年),爲了緩解正面戰場的軍事壓力,扭轉“彭城之戰”後漢軍的頹勢,劉邦接受了韓信提出的“分兵三萬,北舉燕趙,東擊齊,南絕楚之糧道”對楚實施戰略包圍的策略,在堅持對楚正面作戰的同時,分兵三萬給韓信,以名士張耳爲輔,命其率軍開闢北方戰場。韓信果然不負衆望,迅速攻滅代國,後又巧設奇計,在井陘口大敗趙軍主力,陣斃陳餘,擒趙王歇,並憑藉累勝之勢遣說客說降燕王臧荼,兵不血刃地拿下燕國,平定了河北之地。
相比漢軍韓信軍的連戰連捷,屯守於“成皋-滎陽”一線、扼守天下嚥喉的漢軍主力卻打得異常地艱苦。滎陽,山東通向關中的重要通道,自古以來就是兵家必爭之地。特別是戰國後期,秦國爲了滿足兼併戰爭的需要,進行戰略東移,將滎陽作爲自己“中分天下、兼併四海”的戰略樞紐,不僅駐有強兵勁旅防守,而且在附近設有囤積大量軍需糧草的敖倉以資軍用。其城西面的成皋,古稱虎牢。北臨河水(黃河),南傍嵩山。城東,汜水由嵩山間向北流入河水,是屏障洛陽、確保關中安全的軍事重鎮。可以說,只要能夠控制“成皋-滎陽”,就等於已經一隻腳邁入了關中腹地。項羽自然深明其中厲害,故而,在“彭城之戰”後,親帥楚軍主力圍攻漢軍,力圖從漢軍手中奪取“成皋-滎陽”之地,藉以攻入劉邦集團的關中根本。因此,漢軍與楚軍在該地展開了一場蕩氣迴腸、曠日持久的戰爭,史稱“成皋之戰”。
交戰之初,張良作爲中國歷史上最爲優秀的謀士,以其敏銳的政治眼光,看出了項羽集團各派勢力間的矛盾,建議劉邦:以政治配合軍事,以進攻輔助防禦,遊說英布倒戈,從南面牽制項羽,配合韓信的北征行動,保障成皋的翼側安全,同時聯絡彭越,襲擾項羽後方,從而遲滯項羽的進攻。同時強調,充分利用好韓信、英布和彭越三名將領是漢軍能否戰勝楚軍的關鍵。這就是歷史上著名的“下邑之謀”。劉邦即按照張良制定的謀略,實施“正面堅持、敵後襲擾、翼側牽制、迂迴發展”的作戰方略,同時讓蕭何經略關中、巴蜀,鞏固後方戰略基地,轉運糧食、輸送兵員,支援前線作戰,通過時間因素,讓關中的強大物質力量發揮出來;還採納陳平的計謀,派遣間諜,以重金賄賂的形式,分化瓦解楚軍,離間楚國的君臣關係,致使後來亞夫范增歸走鄉里。
劉邦集團的這些“伐謀”舉措雖然起到了牽制楚軍、鞏固後方的積極作用,但是正面戰場的形勢依然不容樂觀。項羽看到漢軍的勢力在河北不斷做大,感覺到了形勢的嚴峻,如令漢軍韓信部做大,很可能會使自己處於以孤楚對抗天下的窘境。然而,由於扼守“滎陽-成皋”一線的漢軍劉邦部的存在,楚軍又不能盲目北上,與韓信爭鋒於燕、趙之間,其原因在於一旦楚軍北上,據守於天下心腹之地的劉邦部必然乘勢東進,引兵絕其糧道,斷其歸路。因此,項羽於漢高祖三年(前204年)春,舉全楚之力強攻滎陽進行搏殺,力圖擊破漢軍主力,擒賊擒王,使得各路漢軍不戰自亂,並多次派兵切斷漢軍的糧道,使漢軍劉邦部在補給上出現了很大的困難。時至五月,項羽大軍進逼滎陽,劉邦內乏繼糧、外無援兵,情勢日趨危急。劉邦採納張良的緩兵之計,派出使臣向項羽求和,表示願以滎陽爲界,以西屬漢,以東歸楚,但遭到項羽的拒絕。劉邦無奈,只得採納將軍紀信的計策,由紀信假扮作漢王劉邦,驅車簇擁出滎陽東門,詐言城中食盡,漢王出降,矇騙項羽,而自己則乘機從滎陽西門逃奔成皋。項羽發現自己受騙上當後勃然大怒,燒死紀信,率兵追擊劉邦,很快便攻下了成皋,劉邦倉皇逃回關中。
回到關中後,劉邦在蕭何的幫助下再次招募兵員,因秦民多善戎馬,又恨項羽而親漢王,故很快就徵集到了一支新軍。此時,劉邦打算再次東進,匯同滎陽守軍實施反攻,從項羽手中奪回成皋。而謀士轅生則認爲此舉並非最佳方案,建議劉邦派兵出武關(今陝西商南東南),調動楚軍南下,減輕漢滎陽守軍的壓力;同時,讓韓信加緊經營北方戰場,迫使楚軍分散兵力,之後漢軍再擇機重奪成皋。劉邦欣然採納這一計策,率軍經武關出宛(今河南南陽)、葉(今河南葉縣)之間,與英布配合展開攻勢;與此同時,韓信也率部由趙地南下,直抵黃河北岸,與劉邦及滎陽漢軍互相策應。漢軍的行動果然起到了作用,使得項羽率兵南下,迎擊劉邦。此時,劉邦在扯開楚軍的空當後,卻又轉攻爲守,避免同楚軍進行決戰,而讓彭越加強對楚後方的襲擊。彭越不失所望,進展迅速,攻佔了魯南戰略要地下邳(今江蘇睢寧西北),直接給楚都彭城造成威脅。漢軍這一連串的軍事行動,體現了其指揮團隊雄闊的大局觀與強大的運籌能力。一時間,項羽首尾不能兼顧,被迫回師東擊彭越,劉邦則乘機收復了成皋。
六月,項羽擊退彭越後,立即回師西進,對劉邦發動第二次攻勢,攻佔滎陽,再奪成皋。並繼續西進,抵達今河南鞏縣一帶。劉邦軍倉猝北渡黃河,逃到小修武(今河南獲嘉東),在那裡徵調到韓信的大部分部隊,以支撐危局,增強正面的防禦。連吃敗仗的劉邦吸取了與項羽作戰失利的教訓,命漢軍一部拒守於鞏(今河南鞏縣西南),一部屯駐小修武,深溝高壘、互爲犄角,但均不與楚軍交鋒。同時,派韓信組建新軍東向擊齊,繼續開闢北方戰場,儘快形成對楚的戰略合圍。又命劉賈率領兩萬人馬從白馬津(今河南滑縣北,舊黃河渡口)渡河,深入楚地,協助彭越,擾亂楚軍後方,截斷楚軍糧道。彭越得到劉賈這支生力軍的支援,很快攻佔了睢陽(今河南商丘南)、外黃(今河南杞縣東北)等十七座城池。這就是後人津津樂道的“彭越擾楚”典故的由來。彭越、韓信的軍事行動,給項羽側背造成嚴重的威脅,迫使項羽在九月間停止正面戰場的攻勢,再次回師攻打彭越。項羽臨行前,告誡成皋守將曹咎小心堅守成皋,千萬不要出擊,只要能阻止漢軍東進十五日,自己一定可以擊敗彭越。漢高祖四年(前203年)十月,劉邦乘項羽東去之機,反攻成皋。守將曹咎開始還遵照項羽的告誡,堅守不出,但是經不起漢軍連日的辱罵和挑戰,一怒之下,率軍出擊。劉邦見時機成熟,便揮師大進,重創曹咎所部楚軍於汜水之上,曹咎兵敗自殺,漢軍乘機再奪成皋,並乘勝推進到廣武(今滎陽東北)一線,收敖倉積粟以充軍用,並在滎陽以東包圍了楚將鍾離眜部。
項羽聽到成皋失守,急忙由睢陽帶領主力返回,同漢軍爭奪成皋,與漢軍對峙於廣武,欲與劉邦決一雌雄。可是漢軍依據險要地形,堅守不戰。雙方對峙數月,項羽無計可施。是時,韓信業已攻佔臨淄,齊地戰事吃緊,項羽不得已只好派龍且帶兵二十萬前往救齊,這就更加減弱了正面戰場的進攻力量。到了十一月,韓信在濰水全殲了楚軍龍且部,平定齊國,對楚軍形成了戰略合圍;因彭越遊軍的不斷襲擾,多次截斷楚軍的補給線,楚軍糧食缺乏;同時,英布所部在淮南也有所發展,項羽腹背受敵,既不能進,又不能退,完全陷入了被動,楚漢雙方的強弱形勢已發生根本的變化。項羽見大勢盡去,遂被迫與劉邦議和,以鴻溝爲界,中分天下,爾後引兵東歸。從戰略角度上講,“成皋之戰”以漢勝楚敗而告終。
“成皋之戰”歷時兩年又四個月,楚漢雙方共投入百萬以上兵力。劉邦在“韓信分兵北舉河北、對楚實施戰略包圍策略”的基礎上,整合謀臣張良的建議,利用政治、外交手段,拉攏與項羽有隙的英布和彭越,爲己方平添了兩支奇兵,之後又藉助其二人獨立統兵的能力,或襲擾楚軍後方,或南下楚境進行發展,大大地減輕了成皋正面戰場上漢軍的壓力,從而爲北上的漢軍韓信部爭取了寶貴的時間,最終在韓信平齊之後,成功地對楚形成的戰略合圍。“成皋之戰”中,漢軍指揮集團非常注重政治、軍事、外交的聯合使用和多層次多線路的立體作戰思維,從而達到“正兵”與“奇兵”的密切配合,“主戰場”與“次戰場”的相互支撐,“前方”與“後方”的彼此協調,將“正面相持”、“後方襲擾”、“翼側牽制”和“迂迴發展”有機地結合起來,通過不斷調動削弱楚軍,最終形成了雙方力量的反轉,爲滅楚興漢奠定了堅實的基礎。是役,劉邦廣泛聽取謀臣的建議,知人善任、果斷分兵;韓信、彭越、英布三將獨擋一面,彼此策應;張良、陳平、酈生等謀士奇計迭出、伐謀攻心,將孫子的“謀攻”妙法演繹得淋漓盡致,體現出劉邦集團對於戰爭的整體駕馭能力,堪稱是中國軍事史上繼“長平之戰”後又一經典戰例,非常值得後世學習與借鑑。