秦朝灭亡陈胜起义虽被镇压,但它播下的火种却还在迅速燃烧,不久,其他各路义军汇在一起,形成了更大的反秦高潮。陈胜失利撤出陈城时,他的部下召平正在奉命攻打广陵(今江苏扬州),召平知道局势有变,马上渡江,假借陈王的命令封在会稽起义的首领项梁为上柱国,让他迅速西进,迎战秦军。
项梁、项羽率子弟渡江,在东阳遇到了陈婴,陈婴当时已拥有一支两万人的部队,他主动说服部下服从项梁指挥。项梁一路西下,渡淮后又接纳了英布、吕臣和蒲将军所领导的义军,当来到下邳(今江苏邳县境内)时,部队已发展到六七万人,成了一支强有力的反秦武装,项梁项羽趁机攻下薛城(今山东滕州境内),暂时驻扎了下来。
当时盘踞在彭城(今江苏徐州)的原陈胜的部下秦嘉,不顾张楚政权的危难,竞擅自立故楚国贵族景驹为楚王,并企图用兵阻止项梁大军的西上。项梁严正指出秦嘉立景驹背叛陈王,大道不道,于是率军攻击秦嘉,追到胡陵(今江苏沛县境内),秦嘉、最驹战败而死,其军归降。项梁收编秦嘉余部之后,正遇秦将章邯来侵,项梁遂派别将朱鸡石、余樊君率兵御敌,两军战于粟县(今河南夏邑),余樊战死,朱鸡石逃至胡陵,后被项梁按军法处死。
刘邦在沛县起义后,在萧何、曹参、樊哙的帮助下,发展也很快,曾攻下胡陵、方舆(今山东金乡),又大破秦泗川监平围攻丰邑的部队,并使雍齿守丰邑。在薛县再次大败泰军,斩杀泰泗川郴守壮。就在刘邦连连取胜之时,曾受陈胜派遣到北略魏地的周市,也南下至丰、沛一带扩展自己的势力。雍齿本就不愿追随刘邦,在周市的策划下竞奔刘邦而归周市,并自愿为魏守卫丰色。刘邦知道后大怒,回师猛攻丰邑不能获胜,只得暂时退守沛城,后经过三个月与秦兵的战斗和发展,部队很快增长到万人左右,刘邦自觉实力大增,再度用力攻打丰邑,但仍未攻下。这时正逢项梁、项羽率领的大军驻扎在薛城,刘邦为了自身发展,更是为了报复雍齿的背叛,乃北上至薛投靠了项梁,项梁给刘邦兵卒刘邦在项梁支持下,远逃至魏,刘邦终于收国了自己的根背领部队第三次国攻丰邑、雍齿成败出走,根据地。
秦二世二年(公元前)六月,项梁得知陈胜已死的确切清息,认为秦朝还有一定的实力,要想打垮秦朝,起义军就必须有一一个领导核心,由这个银导核心来统一指挥和秦军的作战,于是召集各路将领来薛城议事,共谋反秦大计。在会上,70岁的居郸(今安徽集县)人范增认为,秦灭大国,楚国是无罪的,尤其是楚怀王人秦不明,更是引起危人的怀念,井以“地鱼三户,亡秦必楚”的海言建议立能王后人为王,项梁采纳了范增的意见,在民间找到了一个名叫心的正在为别人牧羊的楚怀王的孙子,立为她怀王(即义帝),建都盱眙《今江苏盱胎境内),又以陈要为上柱国,封五县为食色,项果自号武信君,掌握军政大权,成为各路起义军的实际首领。
薛城之会标志着起义军的逐渐成熟,结束了以前各自为政、互不服从的混乱局面,加强了部队的凝聚力,为以后消灭秦朝打下了基础。
薛城之会后,反秦的战争迅速展开。秦将章那战胜陈胜后移兵向东,在临济(今河南封丘境内)周困魏王咎,魏王派周市向齐楚求救。齐王田儋、楚将项它隧周市前往教魏,但援军失利,齐王田儋及周市战死,魏王答也焚身自亡。田荣只得收其兄田儋的余部。退人东阿(今山东阳谷境内),章邯也不肯放过,遂出兵包围东阿,田荣又面临灭亡的境地。二世二年七月。项梁率兵攻打亢父(今山东鄄城境内),闻听田荣告急,马上挥军援助,击败凶恶的秦军,章部被迫两逃,与此同时,项羽、刘邦攻占城阴后出兵阻击西逃的章邯军。再一次重创这支秦军主力。章邯被迫退守濮阳(今河南濮阳),八月项羽、刘邦转战攻打雍丘(今河南杞县),在这里打破秦军,新杀三川那守李由,此时项梁也趁机攻战了定陶。
占镇定陶后,由于义军的节胜利,项梁则产生了轻致之心,都将宋义曾对他提防。但在大好的形势面市项联根本听不进去,章师在漫用体整后再加上秦又新增加的部队,大大地提高了战斗力,于是利用项梁轻敌不设防的明点,在黑夜对定南发动突然袭击,使起义军遭到了惨重的失败,项梁也在这次战斗中壮烈牺牲。定陶的谐落使义军又转入了被动,这时正在进攻陈留的项明、刘邦网讯后,立即与吕臣军向东撤退,在彭城一带集结。吕臣在影城东狂守,项羽驻扎在影城时,刘郑驻扎碣县(今安徽萧县境内),形版可以互相自守、互相援助的精角之势,又把在盱胎的楚怀王接到影城。楚王封吕店为同徒,以其父吕青为令村,项制为长安谈,号为鲁公,以刘邦为鹏那长,封为武安侯,将码郡兵。
经过一系列调整,陷入窘迫局面的义军摆脱了秦兵的追击,保存了抗奏的有生力量,强化r领导权和军队指挥权,为今后的军事进攻创造了有利条件,好式章邯杀掉项梁后,认为楚地的义军已被消灭差不多了,剩下的对大局无是轻重,递率军渡黄河北上,与从边塞南撒的王离军汇合,共同击赵。章邯命令王离进攻赵的都城信都,赵军大败。赵王歇,张环等退至巨鹿(今河北平乡)境内,以孤城自守,王离席军团团围住巨鹿,企图将这个新建的赵国一举消灭。章邯驻扎在巨鹿南边,通过筑甬道向王离部队送粮食。陈余虽在常山收有数方兵,驻扎在巨鹿的北边,由于害怕泰兵的威势而迟迟不敢向秦军发动进攻。赵王歌在万般无奈的情况下,只得四处求救,数次遭使人楚,希望怀王能够早发救兵。
怀王见到楚使,决定出兵救赵,以宋义为上将军,项羽为次将,范增为末将,宋义统领诸别将,具体指挥救赵的各项军事活动。于是宋义率领数万楚军,浩浩荡荡,向北进军,行至安阳(今河南安阳),突然停了下来,竟一连逗留了46天。项羽见此心中火急,多次建议应迅速渡漳河北上,并采用楚击其外、赵应其内、内外夹攻的战术,打败暴虐的秦军,但宋义不但不听,还批评项羽不懂军事,等泰、赵双方渡江时再进兵出击。宋义怯战、不但不敢出兵,还利用关系把他的儿子送到齐国为相,又不顾岁饥民贫、军中无粮,天天饮酒作乐。项羽实在忍无可忍,才借早晨朝见宋义的机会,杀掉了这个误事的将领。将士们见宋义已死,立即推举项羽代为上将军,使桓楚回报楚怀王,怀王遣使命项羽为上将军,令其统帅救赵大军。
项羽先派英布和潮将军率两万人渡过漳河,直奔巨鹿,虽没有取得大的成果,但毁掉了章那运粮的角道,使王离的军队无法得到军粮补充。接着项羽统领全军急渡漳河,并下令砸掉饭锅,船沉河底,每个士兵只能带三天的干粮,以示拼死奋战的决心,这就是成语“破釜沉舟”的由来。项羽以迅雷不及掩耳之势向王离军发动猛烈进攻,主将项羽马当先,秦兵纷纷倒下,战士无不以一当十,杀声震天,经过数次激战,泰军一败涂地,秦主将王离被俘,副将苏角战死,涉闲不肯降楚,自焚殉命。章邯也不得不引兵退却。项羽破秦后,程见教起的各路诸侯将领,这些将领都为项羽的英雄豪气所摄服,个个以腺爬行,不敢拾头仰视。从此,项羽被推为诸侯上将军,成为当时各路义军公认的统领。秦军大败的消息传到咸阳,二世马上派使者到棘原(今河北平乡)责同章邮,章邯恐惧,派进长史词马欣到成阳请示,赵高不予接见,并有不信任之意,司马欣由于害怕,快速返回原地,对章邯说:赵高用事,威妒忠良,今战不胜,必死,战胜也要受到猜忌,恐也不能脱罪,希望章邯能够版出决断。
此时陈余也写信劝章邯投降,章邯犹豫不决之时,项羽又派蒲将军在漳水之南击破秦军,项羽也亲自带兵在汗水(今河北临漳境内),大败秦军,此时的章邯战不能胜,退不能回,陷人了内外交困的绝境。项羽也感到自己的军粮不足,继续作战也不能取得更多利益,于是在二世三年七月,在海水之南的殷墟(今河南安阳境内)接受了章邯及其部将司马欣、董翳的投降,项羽封章邯为雍王,安置在楚军中,司马欣为上将军,率秦军为前锋向关中进军,行至新安(今河南新安境内),项羽恐秦卒尚多,内心不服,一旦发生变乱,后果不堪设想,遂下令将秦20余万降卒坑杀于新安城南。
巨鹿之战历时近9个月,项羽以大无畏的精神,以少胜多,歼灭了王离的军队20余万,取得了反秦斗争中决定性的胜利,又收降了章邯部队20余万,秦的主力已丧失殆尽,使战局发生了根本性的变化,并为刘邦顺利人关、彻底推翻秦朝统治提供了极为有利的条件。