乃道砀至城阳与杠里,攻秦军壁,破其二军……沛公攻破东郡尉于成武……沛公引兵至栗,遇刚武侯,夺其军四千余人,并之,与魏将皇欣、武满军合攻秦军,破之……沛公从砀北攻昌邑,遇彭越。越助攻昌邑,未下。沛公西过高阳。
——《汉书·高帝纪上》
秦二世二年(前208年)闰九月,刘邦自彭城返回砀县,于砀郡收拢陈胜和项梁的残部,整顿兵马准备西进,砀郡睢阳县(今河南商丘辖区)灌婴等人纷纷来投。
早在在刘邦起兵后不久,吕雉的兄长吕泽也于砀郡北部的单父县(今山东单父)发动起义,虽然也曾配合刘邦作战,但却长期在外独自领兵,此时得知刘邦即将西进,也带领部将郭蒙、冯无择等率兵来投。
当时,从楚地西入关中,无非三条路可走,一是自汉中盆地走蜀道北上,二是经南阳盆地入秦岭攻取武关,三是经洛阳盆地向西攻打函谷关。然而无论选择哪条路线,凭借刘邦此时手中仅有的两万多人都难如登天,尤其是距离关中越近,必然遭到的抵抗越强烈。
正所谓“未虑胜,先虑败”,对西进关中实在没有什么信心的刘邦,分析了一番形势后,认为还是应该在西进之前,先行北上消灭掉东郡的秦军。
如此做有三个好处,一是可以消除东郡的威胁,巩固自己对砀郡和泗水郡北部一带的统治,确保大本营的安全,毕竟此次出征刘邦乃是倾巢而出,实在没有多余的兵力来确保大本营的安全;二是消灭东郡秦军,可以防止自己率兵西进之后,秦军南下反攻砀郡,切断自己的退路和粮道,导致自己变成一支孤军;三是可以趁着攻打东郡,进一步收拢当地的义军残部,尽可能的扩充自己的力量。
同月,宋义统率的援赵军队北上,刘邦也自砀郡北上进入东郡。
刘邦刚刚率兵进入东郡,便遇到了东郡郡尉率领军队自成武县南下,刘邦命令曹参统率周勃、樊哙和灌婴等人,率军前去迎战,双方于成武县南部发展激战,秦军兵败北撤,刘邦率兵追击。
彼时,由于天下各处叛乱四起,赵地秦军主力的后勤补给,基本都来自于秦国腹地,需要经函谷关、三川郡和东郡运抵赵地。
在三川郡守李由兵败身死后,秦朝再度从关中地区征调军队,任命赵贲和杨熊为将,驻守于荥阳一线,防止叛军西进,再度威胁函谷关。如此,函谷关至荥阳一线的粮道安全有了保障,但东郡却暴露在了义军的攻击范围之内。
为了确保后方粮道安全,王离在得知刘邦攻入东郡后,在围攻巨鹿的同时,又派别将率领部分边军增援东郡守军。同时,驻守荥阳一线的赵贲,在与杨熊商议之后,留杨熊率领主力驻守荥阳,自己则亲率一部深入东郡,驰援东郡守军。
东郡守军在被刘邦击败北撤后,与王离的边军于城阳会合,随后赵贲亦率军赶来会和,三方于是合兵一处重整旗鼓,再度南下迎战刘邦。
双方于城阳南遭遇,一场大战下来秦军再度战败,刘邦追击秦军,于城阳附近的杠里再度击败秦军,秦将赵贲率领残余秦军向西败逃,刘邦命曹参率军追击。
曹参一路追击,于启封县(今河南开封市开封县)以北,砀郡与三川郡交界处,再度大败赵贲所部。此战樊哙、靳歙极为勇猛,樊哙带兵冲锋破敌,斩杀侯爵一人,斩首六十八级,俘虏二十七人;靳歙则斩杀骑兵千人将一人,斩首五十七级,俘虏七十三人。
赵贲秦军到了砀郡西部的启封县(今河南开封市开封县)以北,再度击败秦军,并将赵贲围困于启封城中。