魏軍一口氣逃至陘山(現新鄭縣西南三十里)上安營紮寨,企圖憑着幾堆小山丘阻擋楚軍。:ap;文字版魏王因雙手被震傷,這時才感到陣陣劇痛,查點軍士,方知只剩八萬(馬軍二萬、步軍六萬)。魏軍剛全部用完飯,快馬慌忙報告魏王說:“楚懷王已率大軍往陘山方向追來,現已到離陘山十里的張莊一帶。”魏王聽完即令全軍做好戰鬥準備。有軍將對魏王說:“我軍新敗,軍心沮散,現與楚軍對戰,實力相差懸殊,若是楚軍到來,將陘山圍住,那就危險了。”魏王說:“這個我知道,等些時候韓王就會帶大軍前來,楚軍連續作戰,必定疲勞,那時和韓王大軍合爲一處,定可大敗楚軍。”半小時後,楚懷王率大軍到了陘山,魏王不戰,據山以對。楚懷王令大軍將陘山圍住,正準備安營紮寨,忽然快馬來報說:“韓王率十萬韓軍趕來增援魏軍,大軍已到離這十里的唐莊了,正向陘山這邊開來。”
楚懷王聞報,隨令全軍退後一里列陣,並對昭睢說:“魏、韓聯軍雖是十八萬之多,但八萬魏軍新敗,士氣不振,且無大將,我軍剛勝,士氣正旺。因此,十五萬楚軍可以打敗十八萬魏、韓聯軍。”楚懷王接着說:“我軍騎兵多,是個優勢,可以衝擊敵軍步軍,這樣,也就更有勝算的把握。”於是,楚懷王隨令昭睢率大軍七萬(馬軍三萬、步軍四萬)迎戰八萬魏軍,自己親統八萬楚軍(四萬馬軍、四萬步軍)迎戰十萬韓軍。楚懷王隨令四萬楚軍步軍列爲四行,一萬六千騎兵分四隊立於步軍兩旁,準備攻擊韓軍步兵的正面兩邊和兩個側翼,自己率二萬四千騎兵迎擊二萬五千韓軍騎兵。而昭睢則將四萬楚軍步軍列爲四行,一萬騎兵分成兩隊立於步軍兩旁,準備攻擊魏軍步兵的兩翼;自己率二萬騎兵迎擊二萬魏軍騎兵。不一會,韓王率十萬韓軍(二萬五千馬軍、七萬五千步軍)到來,魏王見韓王率大軍前來也率全部魏軍衝下山來,卻被昭睢大軍攔住。
楚懷王趨馬上前說:“來者就是韓王嗎?”韓王也趨馬上前說:“正是!”楚懷王說:“楚、魏相爭,與你何干?爲何要與楚交惡?”韓王這時心裡正在嘀咕:原以爲魏軍與楚軍正面對決,就算是楚軍勝,也應自損一半纔對,沒想到魏軍如此狼狽。早知是這樣,就不應該率軍前來。因此,一時答不上話來。楚懷王見韓王不答話,大怒,雙腿一夾,烏睢馬如風疾奔,手揮長槍,直取韓王。韓王見狀大驚,掉轉馬頭急跑回陣,韓陣中衝出一員韓將,大叫:“休傷我王!”揮刀向楚懷王砍來。楚懷王長槍一揮,嗙的一聲!韓將的大刀被打到一邊。楚懷王又一槍擊去,噹的一聲!把韓將的大刀打落於地。韓將大驚失色,掉轉馬頭想逃,楚懷王一槍打去,正中後背,翻身落馬,當場斃命。韓陣中又有兩將奔馳過來,楚懷王拍馬揮槍,衝殺過去,只一回合,一名韓將手上的槍便被打飛了二丈開外,人也被打落馬下,聲都沒哼一下就死了。另一名韓將舉矛刺來,楚懷王長槍一擊,韓將長矛被打落地下,楚懷王揮槍一掃,韓將的頭顱被打碎,哼了一下,翻身落馬,一命嗚呼。
頓時,楚軍吼聲連天,韓王見狀,鬥志全無,急令大軍退回新鄭。楚懷王也不追擊,任由韓軍撤退。楚懷王見韓軍撤遠,隨命軍將率二萬鐵騎擊殺魏軍步兵。魏王見韓王率大軍退去,大驚,急令全軍快退。昭睢見狀,令楚軍將士全軍出擊,楚懷王的二萬鐵騎也從側面衝殺過去,魏惠王見大勢已去,在一萬多馬軍的護衛下逃回了偃師,其餘魏軍四散逃命,少數逃脫了,大部分逃不掉,或被斬殺,或繳械投降。昭睢楚軍斬殺魏軍二萬餘,俘虜三萬,獲戰馬五千匹,盔甲兵器五萬副和糧草輕重一大批。
古城、陘山之戰,楚懷王從魏惠王手裡奪回了古城、陘山諸地,大獲全勝。共斬魏軍十五萬(馬軍三萬五千、步軍十一萬),俘虜三萬,繳獲戰馬三萬五千匹,盔甲兵器十八萬副和無數糧草輕重,自損軍士五萬五千人(馬軍一萬二千,步軍四萬三千),因得戰馬三萬五千匹,楚軍馬軍反而變成八萬騎了。魏惠王的二十萬大軍,只有一萬五千馬軍逃回偃師,其餘全被消滅,從此,魏國再也沒有能力與楚國正面對抗了。隨後,楚懷王令楚軍攻佔魏國的禹州(現河南禹州市)、襄城(現河南襄城縣)、魯山(現河南魯山縣),爲報復韓王出兵助魏軍,又令楚軍攻佔韓國的汝州(現河南汝州市)、伊川(現河南伊川縣)等地,並在伊川設立了新城郡,管轄伊川、汝州、禹州、襄城、魯山諸地。