章邯以为楚兵不足忧,率秦军北渡黄河,汇合自北方前来增援之王离军一起攻打赵国,并大败赵军于邯郸,随后王离继续包围赵王歇于巨鹿,章邯自己屯兵于南棘原,修筑墙垣甬道,为围城的王离秦军输送粮草辎重。赵国陈余北收恒山兵,得数万人,军巨鹿北。赵数请救于楚。
楚军阵营分兵两路,一支军队北往解赵国巨鹿之围,以宋义为上将军,号称“卿子冠军”,项羽为次将。另一支军队沿河南进攻关中,以刘邦为主帅。楚后怀王许诺“先入定关中者,王之。”
齐将田都、燕将臧荼皆往救赵。宋义率领楚军行至安阳,就按兵不动,滞留四十六日。项羽急欲攻打秦军,为阵亡的叔父项梁报仇雪恨,便催促宋义发兵,宋义不听,反讥项羽有勇无谋,还下令军中:“有猛如虎,狠如羊,贪如狼,强不可使者,皆斩之!”讽刺要杀死项羽。
宋义派遣其子宋襄到齐国当相邦,亲身送行到无盐,饮酒作乐。当时天气寒冷,天降大雨,士卒饥寒不堪,项羽利用这一点激起了士兵对宋义之不满。
在宋义按兵不动之第四十七个早晨,项羽朝会宋义,即入其帐中,斩其头示众。项羽随即向士卒宣布:“宋义与齐谋反楚,楚王阴令籍诛之!。诸将皆曰:“首立楚者,将军家也;今将军诛乱。”桓楚携宋义父子首级报告楚后怀王,怀王只好任命项羽为上将军,率兵救赵。
赵军陈余使五千人先尝试秦军,全军覆没。当时,齐师、燕师皆来救赵,赵军张敖亦北收代兵,得万余人,皆壁陈余旁,未敢击秦。
秦军兵力有王离军二十万与驻守粮道的章邯军二十万,楚军只有五万,兵力远远少于秦军。仔细考察形势后,项羽决定先派英布、蒲将军率两万楚军渡漳河,袭击秦军运粮甬道,获得几场小胜,令王离军乏食,并使章邯军疲于奔命,而能对王离军各个击破。项羽亲率全军渡河,并下令打破炊具,凿沉舟船,每人只带三日干粮,余者焚之,以示拼死一战之决心。
楚军在项羽身先士卒激励下士气高涨,作战十分勇猛,一举击破了秦军勇将苏角的军团,迫使章邯军溃退并撤走了对王离军后背的支援。此时项羽马不停蹄翻身再战王离、涉间之长城军团,九战九捷。当时一个楚军能杀十个秦军,而项羽又亲自奋勇厮杀激励士卒,“又羽兵呼声动天地,终使秦军大败。秦将苏角阵亡,王离被俘,涉间拒降而死。
项羽进攻秦军之前,虽已有燕、齐、魏、代、辽等十几路诸侯军抵达巨鹿前来救援,但都慑于秦军威力,只是屯兵