项籍刚率主力离开,第二天,汉军就到成皋城下向曹咎挑战。刚开始,曹咎还能忍住不出兵,后来汉军越来越骂得难听,五六天后,曹咎就忍不住了,派兵渡过汜水,前来与汉军决战。待楚军渡过一半时,汉军发起进攻,大败楚军。曹咎、司马欣自杀,整个楚军防线一溃千里,楚军辎重全被汉军缴获,汉军乘胜攻到荥阳城下。
只这五六天里,项籍的攻势十分顺利,他先后夺取了陈留、外黄、睢阳等城,眼看就要打开通往彭城的道路。偏偏这时,曹咎战败,荥阳危急,项籍功败垂成,只得从睢阳返回荥阳。刘季所部见项籍率部返回,也放弃攻打荥阳,全都退回成皋、广武等地的山上,据险而守。但也不全都是退回的。
但有两支部队被项籍断了后路。一路是靳歙,他奉命就从荥阳前往襄邑;一路是灌婴,奉命从阳武出击襄邑。襄邑在荥阳与睢阳之间,刘季派出的这两支部队应该都是骑兵部队,进驻襄邑的目的应该是打算滞留项籍于睢阳一线。但项籍通过巧妙的机动避开了这两支骑兵的骚扰,返回了荥阳,而这两支骑兵部队也就索性一路东进,于鲁城击破了楚军的项冠所部。灌婴所部斩项冠军右司马、骑将各一人。随后,两人分头行动。靳歙往东,可能与卢绾、刘贾、彭越军汇合,连克缯城、郯城、下邳,又回过头来攻占了蕲县、竹邑(符离),绕着彭城打了一圈。而灌婴则似乎奉命向北行动,企图渡过黄河。曾经降汉又反水的楚将王武现在被封为柘公,率领柘县部队来与灌婴作战。灌婴于燕城西击败了王武主力,斩楼烦(骑射兵)将五人,连尹一人;随后又攻占了白马津,击败了王武的部将桓婴,斩其都尉一人。从这里,灌婴渡过黄河,转入河北战场。在护送刘季返回洛阳后,灌婴即率所部北上邯郸,加入韩淮阴伐齐的作战序列。
齐国是最先反抗项籍的,也是战争打得最惨的,不仅三位齐王先后被杀,就连最终胜利的田荣也被项籍击败,在平原被杀。不过齐国就像打不死的小强,屡败屡战,终于等来了机会。诸侯入彭城后,项籍不得不将攻伐齐国的军队全部撤出,去平定淮南等地的叛乱,随后又在荥阳一线与刘季对峙,田横得以收复齐国各县。现在,眼看又到了新年,齐国境内已经不闻刀兵达三个年头。
大约是新年前后,刘季派出的使者郦食其到达齐国,他说服了齐王同意与刘季联盟,共击项籍。而与此同时,韩淮阴也在赵国境内征集到一批新的兵员,刘季派了右丞相曹参前来协助指挥作战,并派来灌婴的郎中骑兵加强韩淮阴。韩淮阴目前已经兵强马壮。当韩淮阴率后到达平原附近的渡口时,已经得到齐王同意与刘季结盟的消息。韩淮阴就想停止进兵。但范阳人蒯通对韩淮阴建议道:“将军受诏击齐,而汉独发间使下齐,宁有诏止将军乎?且郦生一士,伏轼掉三寸之舌,下齐七十馀城;将军将数万众,岁馀乃下赵五十馀,为将数岁,反不如一竖儒之功乎?”
韩淮阴认为蒯通的话有道理,一方面是想抢功,一方面也的确是没有得到刘季停止进攻齐国的命令,他率部渡过黄河,向历下齐军发起突然袭击。齐王田广觉得自己已经与刘季结盟,果然对韩淮阴所部毫无防备,被打了个措手不及,历下迅速被曹参攻克。刚被封为御史大夫的灌婴率领骑兵冲杀在第一线,俘虏了齐车骑将军华毋伤以及各级官员四十六人。
曹参一击得手,立即转用兵力,攻向临淄。齐人大怒,认为郦食其是来欺骗自己的,将他给烹杀了。
齐人分头撤退,齐王田广东退往胶东的高密,胶东有将军田既的一支齐军驻守。齐相田横向南退却,退往济北博阳。守相田光则撤往城阳。田光逃出临淄不久,就被灌婴的骑兵追上,未能逃到城阳。而曹参则继续率军往回打,攻略济北郡,连续占领了著县、漯阴、平原、鬲县、卢县等县,几乎完全夺取济北郡。韩淮阴则分兵平定临淄各地。现在,泰山以北的区域已经几乎完全被韩淮阴占领,这片区域是齐国的核心区,韩淮阴已经立于不败之地。
四散而逃的齐人立即遣使与项籍结盟,请项籍派兵援助。
这一次,楚军来得很快,大将龙且、亚将周兰率领大军号称二十万于当月就出动了。楚军能来得这么快,说明他们不是为了援齐而临时调集的,而是早就有了准备,也许这是为了支援荥阳作战的军队吧。现在齐国告急,而齐国是绝对不能放弃的,因此,龙且军只好先北上进入齐国,待击败韩淮阴后,再西进支援荥阳前线。也就是说,这是楚国所能动员的最后一支力量,楚军拼出了自己的老本,进行最后一搏。
楚军号称二十万,韩淮阴也不敢轻视,急忙将分散攻略各地的部队集中起来。龙且率部进入胶东,于田广汇合,屯于高密周围;韩淮阴也随之进军到高密以西,最终,两军隔潍水对峙。
龙且的这一运动是合理的。高密距彭城千里之遥,楚军不可能携带大量粮草前来,依托田广可以获得充裕的后勤补给;且两军相合,力量也更为集中。如果选择沿济水北上,路途虽然近一些,但一方面无法与田广取得配合,另一方面也远离作战基地,战略上十分不利。
又有人向龙且建议道:“汉兵远斗穷战,其锋不可当。不如深壁,令齐王使其信臣招所亡城。汉兵二千里客居,齐城皆反,可无战而降也。”这一建议也许在战术上是正确的,但龙且却无法长期与韩淮阴在齐地对峙,他还急着打败了韩淮阴后,立即增援荥阳的项籍呢!他只好给部下打气道:“吾平生知韩信为人,易与耳。且夫救齐,不战而降之,吾何功?今战而胜之,齐之半可得,何为止!”
两军之间的潍水是一条流量不大的河流,季节性变化特别明显。十一月是枯水期,河上甚至会结冰,并不构成天然障碍,只能算是一片开阔地,勉强可以起到迟滞冲击速度的作用。
就这样一条不深不广的河流,韩淮阴却作起了文章。他暗中令人准备了一万来条沙包,堵住潍水上游,使下游的水量更少。
天亮后,韩淮阴主动向优势的楚军发动进攻。当韩淮阴所部渡过一半时,龙且发起了反冲锋,迅速击溃了韩淮阴的部队。眼见韩淮阴的部队溃不成军,龙且高兴地道:“固知信怯也。”当即率领主力投入追击。
当龙且的部队也部分冲过潍水时,韩淮阴在上游的部队立即决开沙袋,壅塞的河水奔流而下,将龙且军大半冲走。韩淮阴当即指挥大军掉头向龙且杀来,这一次,灌婴又一次大显神威,他的骑兵冲杀过来,向已经陷于混乱的楚军发起冲锋。龙且拼命稳定部队接战,哪里挡得住数千骑兵的冲锋,死于阵中;亚将周兰被灌婴本人俘虏,所部还俘虏了楚军右司马、连尹各一人,楼烦将十人;龙且留在潍水以东的部队溃散,齐王田广逃走。韩淮阴一直追击到城阳,楚军几乎全部被俘虏。
楚军最后一支预备队就这样被歼于潍水河畔,楚汉之争的结局也于此初步决定。
田横不甘于就此失败,他在博阳自立为齐王,征集了一支部队。这时灌婴也率部南下博阳,两军相遇于嬴县附近,灌婴击败田横骑兵,斩齐骑将一人,俘虏骑将四人,夺取了嬴县和博阳。田横逃出,投奔彭越。随后,曹参于胶东击杀田既,灌婴北上千乘,击杀齐将军田吸。齐国势力至此大体被平定。这时大约是汉王四年十一月。
韩淮阴遣使向刘季报捷,同时请示道:“齐伪诈多变,反覆之国也;南边楚,不为假王以镇之,其势不定。”
在汉王三年的下半年,项籍颇受彭城骚扰之苦。四月,他趁汉王返回关中接受新兵之际,带着荥阳前线的士兵回击彭越;八月返回荥阳后,又击破了刘季留在荥阳的守军,生俘守将周苛、枞公、韩王信。而于此同时,刘季得到韩淮阴于赵地所征新兵的加强,派卢绾、刘贾援助彭越,重新在项籍的后方大闹起来。项籍在攻占成皋后,又不得不带队回来重新击破彭越;在打到睢阳时,刘季(可能是吕泽)击破成皋守将曹咎,荥阳防线几乎呈现崩溃之势,曹咎、司马欣自杀。项籍半途而废,只得又带兵回来巩固荥阳的防线。刘季军见项籍带兵返回,主动撤回山地,拒绝与项籍决战;而在项籍的后方,卢绾、刘贾、彭越则越打越强,靳歙还绕着彭城打了一圈。项籍虽勇,但已经成为一支孤军。