宋義在出使齊國的路上遇見了齊國使者高陵君顯,便問他說:「您是去會見武信君項梁嗎?」高陵君說:「是啊。」宋義勸告他說:「現在他的軍隊盲目驕橫,正在跟秦軍交戰。我斷定武信君的部隊必然會失敗。您如果減慢行進的速度就可以避免殺身之禍,而如果您急速行進就會斃命於秦軍刀下。」高陵君聽了他的話之後便放慢前往的腳步。不出宋義所料,秦國果然調動全國的兵力來增強章邯軍隊的實力。很快,秦軍向楚軍發動進攻,在定陶大敗楚軍,項梁也戰死了。
巨鹿之圍
項梁死後,項羽等將軍率部向東退兵,守衛彭城一帶。而章邯在打敗楚軍以後,認為主力已經被消滅,楚軍餘部都是些殘兵敗將,已經不足為患,便率軍渡過黃河去攻打趙國,並且打垮了趙軍。這時,趙王趙歇、國相張耳、將軍陳余退守巨鹿城。章邯命令大將王離、涉間率軍把巨鹿城包圍起來,自己則在城的南面駐軍,並且修築兩邊有高牆的甬道來輸送軍糧。
楚軍在定陶被打敗以後,懷王十分驚恐,從於台來到彭城,把項羽和呂臣的軍隊合併起來由他自己親自指揮。當初宋義所遇到的那位齊國使者高陵君顯正在楚軍中,他對懷王進言說:「宋義斷定武信君的軍隊必然失敗,沒過幾天,楚軍果然失利了。他在軍隊作戰之前預見到了失敗的徵兆,說明這個人是個善於用兵的賢人啊,這樣的人應該受到您重用。」於是,懷王召見宋義,與他一起共商大計,非常敬佩這個人,任命他為上將軍。而項羽則受封為魯公,出任次將軍,范增被任命為末將軍。懷王命令他們一同率軍救援趙國。此外,懷王還將其他各路楚軍的總指揮權交給宋義,稱他為卿子冠軍。
大軍行進到安陽,竟然停留了四十六天而不再前進。項羽向宋義建議說:「現在,秦軍將趙王一干人等圍困在巨鹿,我們應該立刻率軍渡過黃河。到時候,楚軍在外圍攻擊秦軍,趙軍在城內向外反擊,裡外夾攻之下,秦軍一定能夠被攻破。」宋義卻說:「情況並非項將軍所想像的那樣。要拍死牛背上的蟲子就不可能顧及到會殺死牛背上的虱子。如今,秦軍攻打趙軍,如果秦軍獲勝,他們一定會疲憊不堪,我軍就可以趁此機會攻擊他們;假如秦軍不勝,我軍就可以聲勢浩大地向西進攻,一定會滅亡秦朝。因此,我們不如先讓秦、趙互相廝殺,等他們兩敗俱傷了我們再出擊。論披堅執銳、衝鋒陷陣,我宋義不如項將軍,但如果論運籌帷幄、決勝千里之外,項將軍您不如我宋義了。」隨後,宋義下令軍中說:「軍中那些兇猛如虎、貪婪如狼、強悍但是卻不能聽從差遣的人,我要將他們全部殺掉。」
破釜沉舟
軍令下達後沒有幾天,宋義便派遣自己的兒子宋襄到齊國去做國相。他親自為宋襄送行到無鹽,並且大擺酒宴、招待賓客。這時正值天寒大雨,楚軍士兵們大多忍饑受凍,他們對宋義的做法感到十分不滿。項羽因為宋義屢次壓制自己,便產生了殺掉宋義的想法,同時,他也要奪回叔父死後項氏家族失去的軍隊最高指揮權。他決定利用宋義這次在軍中引發的不滿來實行自己的計劃。一天早晨,項羽去拜見宋義,宋義以為項羽有要事相商,便以禮相待。項羽趁著宋義不防備,把他殺死在大帳裡。隨後,為了安撫部下,他在軍中發佈命令說:「宋義和齊國人陰謀反叛楚國,楚王密令我將他正法了。」此時,諸位將軍都十分害怕項羽,沒有人敢抗命,於是他們就共同擁立項羽代理上將軍的職務。項羽立即派人追殺了宋襄,同時派桓楚向楚王報告相關情況。懷王見事已至此,就任命項羽為上將軍,掌握了軍隊最高指揮權。
項羽殺掉宋義以後威震楚國,名聞諸侯。為瞭解巨鹿之圍,他派遣當陽君、蒲將軍率領二萬士兵渡過漳水,救援巨鹿。但是二位將軍並沒有取得預期戰果,趙國方面再次請求楚軍出兵。項羽率領全部人馬渡過了漳水,渡河之後,把所有渡船都沉入水底,把做飯的鐵鍋等炊具也都砸爛了,並且燒掉了營帳,下令軍中只帶三天口糧,以此表明楚軍與秦軍決一死戰、毫不退卻的堅定決心。楚軍士氣高漲,到達巨鹿以後便把王離的軍隊包圍了。經過與秦軍的多次激戰,楚軍斷絕了秦軍的糧道,打垮了秦軍,殺死了蘇角,俘獲了王離,而涉間不肯投降楚軍,自焚而死。