趙賁是趙高的族人,屯兵在開封,內史保是趙高親信,屯兵在洛陽。趙賁控製的範圍,包括碭郡西部和潁川郡北部,總兵力有四萬餘,但分散到各城邑,機動力量有限。內史保也率軍四萬做監軍,還不受章邯節製。
趙賁於是派人聯絡內史保,兩人合計派了兩萬人馬攻擊陳留,希望以此拖住並消耗沛公。然後又派人去白馬津(河南省滑縣東北部),抽調楊熊部南下。
三月,沛公圍攻開封,沒能打下來,但在開封北部大敗趙賁,戰況膠著之時,沛公的哨探來報。發現白馬津方向的秦軍楊熊部有南下的跡象。為避免被兩麵夾擊,沛公便留部分人在開封附近迷惑秦軍,而自己單獨率三萬二千人北上白馬津,主動攻擊楊熊部。白馬津一戰,沛公麾下曹參、樊噲、夏侯嬰等人在白馬、曲遇東麵與秦將楊熊交戰,大破楊熊軍,曹參俘虜秦國司馬、禦史各一人;夏侯嬰俘虜六十八人,並繳獲官印一匣。劉邦部隊又在陽武再次擊退楊熊。
楊熊遭遇劉邦突襲後立即南撤至曲遇(河南中牟縣東)。曹參則從北邊繞過去,從北部攻擊開封城。他來到開封北,他用樊噲作為先鋒,用烏金斧斬1名侯爵,斬首68人,俘虜27人,樊噲部一度攻上了開封城牆。此役後樊噲被封賜爵卿。沛公和曹參兩路大軍,合計斬首和擄獲秦軍四千餘人,趙賁於是龜縮在開封城不敢再戰。
楊熊家族本是世代從軍,他自滅六國時期就參戰,軍武生涯二十多年,完全是靠戰功拜將的。他意識到,自己兵力不足,於是決定南下與趙賁合兵,萬一打不過,還可一步步退往關中,隻要守住函穀關,就能確保鹹陽的安全。
楊熊率領一萬兩千人,渡過黃河南下。此刻沛公也在尋找楊熊,兩軍在黃河以南擦肩而過,相隔僅百餘裡。沛公得知楊熊軍從白馬津(河南省滑縣東北部)南下,立即調轉行軍方向,尾隨楊熊軍而來。楊熊則不急不慢,目的是把劉邦軍引到開封,與趙賁一起決戰劉邦軍。
可惜老天不遂人願,行軍途中,楊熊得到一個猶如晴天霹靂般的消息。
原來趙賁見劉邦軍撤圍開封,便丟下開封迅速率軍西撤,去三川郡(洛陽故城)與內史保會合。曹參見隙迅速西進,占據空城開封。
占據了開封的曹參發現楊熊南下,則從開封率軍八千北上,先頭部隊很快就和楊熊交上了手。現在楊熊儼然已是孤軍奮戰了。沛公此刻也是緊緊咬住楊熊,秦軍南北兩麵受敵,隻好向西退卻。在開封西北部的曲遇(河南中牟縣東),楊熊軍被沛公和曹參軍合圍,由於騎兵少步兵多,楊熊隻率七千多敗兵向北退去。然而沛公大軍卻好像是盯死了楊熊軍,一路追著楊熊。最終在陽武一帶,成功將楊熊軍徹底擊潰,楊熊隻得率領殘部向西退往滎陽。
秦二世得知消息,盛怒之下,派使者將楊熊斬首示眾。
自陳留陷落後,秦將趙賁潰逃,楊熊被殺。秦廷在碭郡的統治徹底瓦解。而秦二世殺死敗逃至滎陽的楊熊,更是自毀長城,這讓三川郡方向的趙賁陷入孤掌難鳴的窘境。
開封-白馬-曲遇會戰是沛公在成陽、杠裡之後最輝煌的一次勝利。被他擊敗的趙賁和楊熊這兩部份人馬,均為秦軍的主力部隊。
其中趙賁是趙高的族人,其在秦廷的地位並不亞於章邯等巨鹿方向的秦軍將領。楊熊則是行五出身的世代名將,擁有豐富的作戰經驗。沛公在運動中戰勝這兩大勁敵,不得不說,無論是運籌帷幄、排兵布陣;還是領軍帶兵、上陣殺敵,沛公確實有過人之處。