公元前340年,楚宣王病死,其子熊商繼位,是爲楚威王。(全文字)威王初立,商鞅率十萬秦軍出少習關,攻打商南楚軍,被楚將屈武打退。齊軍南下進擊臨沂,棗莊。徐州楚軍馳援,擊退齊軍。公元前338年,楚威王二年,這年,秦孝公病死,其子惠文君立,是爲秦惠文公。楚威王令十萬大軍移師漯河、周口,嚴防魏軍南下,然後親率二十萬楚軍出荊州、襄陽,北上南陽到浙川,討伐商鞅的商國。商鞅率二十萬商國秦兵出少習關,與楚軍戰於商南,被楚將屈武打得大敗而逃,退守少習關。楚威王一面令大軍攻打少習關,一面令大將屈武率十萬楚軍沿丹江而上,攻打少習關背後的商鞅老巢商邑(丹鳳)。秦惠文公聞訊楚威王興兵討伐商鞅,隨召集羣臣說:“我料商鞅不日必爲楚軍所敗,楚軍若敗商鞅,必揮師取商州、洛南,我欲舉兵,拒楚軍於少習關外,諸位意下如何”?只見甘龍出奏說:“主公萬萬不可!昔日衛鞅偷襲楚的商州、丹鳳之地,孝公知道楚宣必會興兵問罪,故盡將商州七百里地封與衛鞅,讓其自立商國,目的就是爲了將禍水轉移。今楚威王承其父志,意欲收回失地,志在必得。主公若舉兵相向,楚、秦二軍必相拼,那時,魏軍乘虛取我華陰,直指關中。況且,楚國現有帶甲上百萬,若是荊襄、南陽增兵添將,以目前秦國的兵力,是不能與楚軍相抗耶”。秦惠文公說:“依老愛卿所見,該如何是好呢”?甘龍說:“依老臣所見,衛鞅擁兵自立,實是大逆不道。主公可一面遣使楚威王,二國再結姻親。一面下詔,削掉衛鞅封號,令其交出兵權。衛鞅必舉兵造反,主公即以誅殺衛鞅爲名,發兵取商州、商邑,與楚軍重敘當年疆界。這樣,不但楚、秦兩國化干戈爲玉帛,而且又除掉衛鞅這一心腹大患,這叫一舉兩得”。秦惠文公說:“善”!隨派使者見說楚威王聯親,並下詔列舉商鞅十大罪狀,削其封號,令其交出兵權,到咸陽自首。?
商鞅不聽,公然舉兵造反,秦惠文公隨詔告秦國上下,誅殺商鞅,並與大將司馬錯率二十萬秦軍東進商洛古道,下丹陽,取商州。商鞅見狀,派人向楚威王求和,威王不準。第二天,屈武的十萬楚軍已沿丹江而上到達商邑,少習關也被楚軍攻破,二路楚軍會師于丹鳳,攻打商邑。商鞅不敵,率着軍隊倉惶北逃,途中被司馬錯擊潰,在家丁衛兵的保護下爬着丘嶺逃到洛南,秦惠文公隨分兵追捕商鞅,司馬錯率着秦軍與屈武的楚軍同時攻進商邑,雙方各不相讓,列陣對峙,差點戰鼓雷鳴,大戰起來。恰好這時楚威王和秦惠文公趕到,方纔罷兵,握手言歡。雙方約定,從商州到丹鳳,楚、秦分半,南歸楚,北歸秦,秦軍在少習關,楚軍在商州設兎禾關,雙方各派一千軍兵駐守。事罷,楚威王隨班師回荊都,秦惠文公也率領軍隊回咸陽。?
商鞅帶着殘兵敗將惶惶如喪家之犬,從洛南逃到潼關,淚流滿臉的再三叩求魏公子卬收留,魏公子卬見商鞅如此淒涼,本已心動。只聽大將魏邯說:“三姓賊!你也有今天。你是中山狼,勢利更猖狂,你謀害我家公子還不夠嗎,我本想殺你,但恐髒了我寶刀”。魏公子聽了,隨拂袖而去。商鞅無奈,只好帶着殘兵敗將逃到華陰,糾集舊部,企圖負隅頑抗。秦惠文公隨令司馬錯和向壽率二十萬大軍圍剿商鞅,商鞅不肯投降,依然率領軍隊迎戰,無奈軍士反戈,兵敗被捕,押往咸陽。被秦惠文公處以車裂極刑,受五馬分屍,死後忽見雷電交加,擊燒商鞅殘軀。哎!這商鞅雖然有大功於秦國,但卻是爲了名利,冺滅天良,說其中山狼並不爲過。可悲的是,連累其家人被滿門抄斬於咸陽刑場。