公元前207年,宋义带领楚军赶去增援赵国,虽然他是大将军,却是贪生怕死的人,全凭自己能说会道才博取了楚怀王的认可。宋义从没想过要和秦军打仗,因此在军队到达安陽(今山东曹县东)的时候,他便下令不走了,而且一停就是四十几天,不管将士们怎么提议,他都按兵不动,每天只在军营里喝酒消遣。
在全国一片反秦运动中,以前燕、赵、齐、魏等诸侯国的旧势力相继恢复了原来的国家。秦朝已经四分五裂,随时都有可能灭亡。项梁率军打了好几次胜仗,在赢得他人称赞的同时,自己也骄傲起来。
项羽首先派英布和蒲将军带领一部分军队先抵达巨鹿,自己则留在河边观看局势。王离想着章邯就在不远处驻守,周围诸侯国的援兵也不敢轻易朝自己发动进攻,楚国的军队虽然过了河,想必他们也和别国一样,只能干着急,不敢轻举妄动。城里的赵王歇更是着急,粮食越来越少,如果再得不到援助,恐怕就要饿死在城里了。
没想到第二天一早,项羽就穿着全套盔甲出现在宋义面前,他最后一次问宋义出不出兵,宋义仍然不同意,于是项羽拔剑一挥,宋义的人头应声落地。接着项羽便向全军宣布由他顶替大将军的位子,并吩咐将士们做好出战准备。
项羽和王离的军队交战了好几回,终于项羽大获全胜,俘虏了王离,然后项羽和英布等人跑去增援范增。隔着很远的距离就听到士兵喊声震天,项羽走近一看,才发现楚军士兵都在擂鼓呐喊,一旦秦军出动,就停止击鼓。三番五次之后,章邯顿觉楚军有诈,正好此时一个探子来报,说围困赵国的军队全军覆没,将领被擒。章邯急得率军朝巨鹿赶去,没想到项羽早已守候在军营不远处。项羽一见章邯,就想到叔父项梁的死,两个人很快就厮杀起来。章邯毕竟不是项羽的对手,几个回合之后,秦军便落了下风。项羽是越战越猛,楚军士兵也不堪示弱,秦军被打得抱头鼠窜,章邯也落荒而逃。
项羽兵胜之后并没有接受赵国的邀请,而是坐在军营里接待各国诸侯将领和士兵。诸侯国的军队本来战战兢兢不敢上前帮助被困的赵国,后来看到楚军奋勇杀敌的场面,尤其是看到项羽勇猛的气势,每个人都被震得说不出话来,从此之后,各国将领不约而同地对项羽心生敬畏。
最后,项羽怒气冲冲地跑来找宋义,非要他出兵。宋义勃然大怒,骂项羽以下犯上,并声称一切军中事务必须听从自己的安排,要是有谁胆敢违抗的话,一律按杀头罪论处。项羽不服,直说宋义不配做将领统帅,宋义冷冷地指责项羽只是一介莽夫,不懂得行军打仗的策略,项羽憋着一肚子怒气,只好无奈地走出营帐。
项羽首先和范增商量先去攻打王离,把运输粮草的通道堵住,赵国也随即解放出来,范增则带着一部分军队去围攻章邯,但不要正面冲突,等王离的军队被消灭后,再率领全军一举拿下章邯。于是英布和蒲将军带着人马把运输粮草的秦军控制住了,项羽带兵去攻打王离,范增在章邯的驻守地替楚军主力打掩护。
公元前208年,项梁带领大军一鼓作气朝咸陽逼近,秦国将军章邯奋力抵抗,但项梁勇猛善战,加上起义军个个士气高涨,秦军被打得节节败退。东阿(今山东陽谷东北)、濮陽(今河南滑县东北)、定陶(今山东省菏泽市南)相继被起义军占领。而这时刘邦也带着大批人马来投靠楚怀王,驻扎在定陶的项梁立刻派项羽和刘邦前来支援,并让两人继续朝咸陽进攻。项羽和刘邦不负众望,在交战过程中杀死了秦朝将领李由。眼看秦军所剩无几,章邯急忙跑到咸陽重新征集军队,准备趁项梁疏忽大意的时候打他个措手不及。项梁因为过分轻敌的原因,不幸死于战争之中。楚军失去了首领,顿时变得人心惶惶,章邯乘胜追击,把项羽、刘邦等人逼到彭城(今江苏徐州),众人无奈,只好死守彭城。
城里的赵歇急得团团转,而城外闻讯赶来的齐国、燕国军队却因为惧怕秦军的实力而不敢出手相救,赵歇只好派人向楚国求救,楚怀王得到消息后立刻委派宋义和项羽、谋士范增一起带军北上。
可是英布和蒲将军一渡过河就朝王离的军队扑来,秦军还愣在那里不知所措,楚军早就杀红了眼。王离万万没想到楚军竟敢如此大胆,他过于轻敌了。秦军没抵抗多久就败下阵来,英布便马上下令停止战斗,把军队全部带到河边。他这么做,一来可以引诱王离和章邯的部队,二来也能帮助项羽顺利渡河。项羽闻听英布和蒲将军打了一场胜仗后,喜不自禁,他决定再次出其不意发动进攻,不给秦军思考和休整的机会。项羽率军渡河,然后命令全军士兵随身只携带三天的干粮,把所有船只和煮饭的铁锅都打破沉到河底。士兵们一看,知道这场仗一定要赢,个个都精神抖擞,士气高涨,定要与秦军拼个你死我活。
章邯眼见项梁被杀,楚军变得委靡不振,便以为事情尽在他的掌握之中,于是抽调大批军队来到黄河以北的地方,这儿正是新成立的赵国所处的位置。章邯把新任赵王赵歇打得落花流水,赵歇最后退居到巨鹿(今河北邢台),章邯久攻不下,只能把巨鹿围个水泄不通。随后章邯又把军队一分为二,一部分由自己带领在巨鹿附近囤积粮食,剩下的则由王离领着继续围攻巨鹿。