七月二十八日,正當景翠、景奎各自率領五萬楚軍騎兵準備出時,鄭袖又命八百裏快馬,傳令景翠、景奎將蘭考縣回贈魏襄王,以示楚、魏兩國和好。景翠率領五萬楚軍騎兵,取單縣、成武。景奎率領五萬楚軍騎兵,取曹縣、定陶。睢陽的二萬楚軍騎兵北上,與景奎的騎兵,合擊匡章的八萬齊軍。然後,命景翠、景奎揮師東進,配合昭陽,收複失地。
這時,齊、楚兩軍在泗上的軍事態勢是:齊將匡章率領一萬五千齊軍騎兵、六萬五千齊軍步兵駐守在荷澤,田賁的二萬齊軍騎兵、六萬齊軍步兵在濟寧,另外的三萬齊軍騎兵、十四萬齊軍在棗莊、臨沂,齊軍的總兵力是三十三萬兵,其中六萬五千騎兵,二十六萬步兵。而昭陽楚軍的總兵力是二十六萬兵,其中騎兵五萬、步兵二十一萬。
楚將昭陽率著三萬楚軍騎兵、五萬楚軍步兵鎮守在金鄉、魚台,和駐紮在睢陽的三萬楚軍一起,與田賁、匡章的十六萬軍隊對峙。另外,昭陽的二萬楚軍騎兵、十二萬楚軍步兵在棗莊、臨沂與齊軍對峙。齊軍處於進攻,楚軍采用堡壘戰術、處於堅守的狀態。自從江漢楚軍北上,向魏、韓兩**隊起大反攻以來,齊將田賁和匡章非常焦慮,等到聞訊韓、魏兩軍相繼大敗請降,更是焦躁不安。而昭陽的楚軍聞訊,則是士氣高升,個個摩拳擦掌,等待著反攻時刻的到來。
七月二十九日,景翠、景奎各自率領五萬楚軍騎兵,從睢陽出,兵分二路,一路由景翠率領,一路凱歌,連克單縣、成武。一路由景翠率領,克曹縣,向荷澤進。齊將匡章聞訊大驚,其弟匡非:“楚軍勢大,又都是騎兵,不可與之交鋒,不如放棄荷澤,率領軍隊,退至巨野與田賁會合,二軍固守巨野和濟寧,尚可抵擋楚軍的攻擊”。
匡章:“荷澤四縣丟失,未戰先逃,我回去,如何向大王交代”?隨令匡非率領三萬齊軍留守荷澤,自己急忙率領五萬齊軍精兵南下,與景奎的五萬楚軍騎兵遭遇、對峙於定陶。匡章雖然率領五萬齊軍精兵,但隻有一萬五千騎兵,自然難敵景奎的五萬楚軍騎兵了。於是,匡章隨後又將留守荷澤的三萬齊軍步兵,也調到定陶抵抗景奎的楚軍。
在成武縣的景翠得知匡章將荷澤的三萬守軍調到定陶,為了迷惑匡章,隨率領五萬楚軍騎兵向東北方向的南魯集鎮馳去,使匡章誤以為景翠是率領楚軍騎兵,前去攻打巨野。殊不知景翠的楚軍騎兵,一到萬豐鎮便迅掉頭西進,五萬楚軍騎兵分成五路直奔荷澤。這萬豐鎮離荷澤雖有六十裏路,但對楚軍騎兵來,頂多二個多時,便可全部到達。等到匡章覺察,景翠的楚軍騎兵已經是到了半堤鄉,匡章再想命令齊軍步兵,回軍菏澤,已經太遲了。半個多時後,景翠的五萬楚軍騎兵便占領了荷澤。匡章見回師荷澤已晚,隨率著八萬齊軍猛攻景奎,企圖將景奎的五萬楚軍騎兵擊退,借以據守定陶。
就在這時,二萬楚軍騎兵從曹縣方向,迅馳向定陶。這是睢陽尾隨景奎而來的二萬楚軍騎兵。匡章見狀,知道擊退景奎無望,隨改進攻為固守,命令軍士掠陣,張弓搭箭。這時,二萬齊軍騎兵從巨野方向奔來,原來是濟寧的田賁聞訊景翠的楚軍騎兵從成武,往巨野方向馳去,急忙命令二萬齊軍騎兵馳援。當齊軍騎兵到達巨野,景翠的五萬楚軍騎兵已經殺到荷澤。因此,齊軍的二萬騎兵撲了個空白,便掉頭南下,奔向定陶,企圖援助匡章。
景翠聞訊齊軍的二萬騎兵南下定陶,隨令荷澤的三萬楚軍騎兵,將從巨野南奔的二萬齊軍騎兵,攔截於半堤鄉、孟海鎮一帶。景翠自己則率領二萬楚軍騎兵南下,穿過羅莊村,從背後衝殺匡章的齊軍步兵。就算齊將匡章再勇再能戰,八萬齊軍也抵擋不住景奎、景翠的十二萬楚軍騎兵的前後夾擊。因此,齊軍頓時大敗,匡章急急率著一萬五千齊軍騎兵向東,從杜堂鄉殺出。景奎率著二萬楚軍騎兵,從後麵緊緊追殺至柳林鎮,匡章僅帶著一萬二千名齊軍騎兵逃回巨野。而從巨野馳來增援的二萬齊軍騎兵見勢不妙,便都掉頭逃回巨野,但也損失了二千騎兵。可憐那六萬五千名齊軍步兵,在七萬楚軍騎兵的衝殺下,不是被楚軍的刀槍所殺,就是被楚軍的戰馬撞死、踩死,少有生還。
定陶這一戰,景翠、景奎的楚軍騎兵,一共斬殺了匡章七萬齊兵,其中有五千是騎兵,截獲戰馬五千匹,盔甲兵器七萬套,糧草輕重一大批。景翠隨令二萬楚軍騎兵駐守荷澤,招募兵勇,與景奎各自率領五萬楚軍騎兵,殺奔巨野而來。據守在金鄉、魚台的楚將昭陽,聞訊景翠、景奎連克單縣、成武、曹縣,又聞濟寧田賁的二萬齊軍騎兵盡出,奔援定陶的匡章齊軍,隨令金鄉、魚台的楚軍全部殺出,北上攻打濟寧的齊軍。