秦二世胡亥元年(前209年)秋季七月,阳城人陈胜和阳夏人吴广于蕲县聚众起义,建立“张楚”政权后,陈胜命令周市率军向北进攻魏国的故地。任命上蔡人号“房君”的蔡赐为上柱国。陈胜听说周文是陈地有名的贤人,又懂得军事,便授给他将军的大印,派他率军向西进攻秦。
剿灭陈胜吴广
周文沿途招收士兵到达函谷关,已有战车千辆,士卒数十万,到达戏邑后便驻扎在那里。秦二世这才大吃一惊,赶忙询问群臣:“怎么办?”少府章邯说:“盗贼已经进入关中,他们人多声势强盛,现在征调邻近各县的军队已经来不及了。骊山有很多的刑徒,请赦免他们,将他们武装起来去抵抗敌军。”于是,二世下令大赦天下,派章邯前去骊山赦免那里的刑徒和人奴之子,把他们聚集起来去攻打楚军,不久张楚军大败,周文逃走。
秦二世二年(前208年),周文率军退出函谷关,在曹阳驻扎两个多月,章邯率秦军出函谷关追击,周文军再次战败,退到渑池。十几天后,章邯再次发起进攻,义军大败。周文自杀,楚军也不再作战。
吴广率领义军围攻荥阳,三川郡守李由守荥阳,吴广攻不下来。楚将军田臧假传陈胜的命令将吴广杀掉,又将他的头颅献给陈胜。陈胜派使者赐给田臧张楚令尹的官印,任命他为上将军。田臧便命令李归等诸将领继续围攻荥阳,自己亲自率领精兵向西到敖仓迎击秦军,在交战中,田臧身亡,楚军破败。章邯率军攻打荥阳城李归的队伍,楚军被击败,李归等战死。楚将阳城人邓说率军驻扎在郯城,被章邯的部将击败。铚邑人伍逢率军驻扎在许县,又被章邯击败。
二世增派长史司马欣、董翳帮助章邯袭击盗贼。章邯已将伍逢军攻破,并击杀了陈王的柱国房君,又进击陈县西部张贺的军队。陈胜亲自出城督战,张贺阵亡。腊月,陈王到了汝阴,回来时,到了下城父,被他的车夫庄贾刺杀,庄贾投降了秦军。
袭杀项梁
公元前208年,章邯剿灭陈胜吴广起义,赵国的张耳、陈余收集被打散的赵军士兵,得到数万人,攻打李良;李良被打败逃走,投降了章邯。章邯已经将陈胜打败,又向临济进军攻打魏王。魏王派周市出使齐国和楚国请求援助。齐王田儋与楚将项它都率军随同周市救援魏国。章邯命令士兵口中衔枚在夜间秘密出击,在临济城下打败了齐、楚的军队,齐王和周市被杀。魏王咎为他的百姓订约投降,投降日期确定后,魏咎自焚身亡。
秦二世二年(前208年)秋天七月,大雨连绵。武信君项梁率军攻伐亢父,听说田荣被章邯军包围,形势危急,就带兵到东阿城下,将章邯军击败。章邯向西逃走。田荣率军东归齐国。项梁独自率军向北追击逃走的秦军,派项羽、刘邦分兵攻打城阳,屠灭了全城。楚军驻守在濮阳的东面,再次与章邯的军队交战,秦军又被打败。章邯又重新召集散兵,坚守濮阳,开沟引水自固环城。刘邦、项羽撤军,去进攻定陶。
秦二世二年九月(公元前208年9月)项梁在东阿击溃了章邯的军队,便领兵西进,向北到了定陶,再次击败秦军。项羽、刘邦又在雍丘与秦军进行了交战,秦军大败,三川郡守李由被杀。项梁于是更加轻视秦军,显露出骄傲的神色。宋义规劝说:“仗打胜了,如果将领骄傲、士兵情绪怠惰,注定要失败的。现在士兵已经有怠惰的情形了,而秦兵却在日益增多,我为您担心啊!”但项梁听不进这些话,却派宋义出使齐国。在途中,宋义遇到齐国的使者高陵君显,问他道:“您将要去会见武信君项梁吗?”高陵君显回答说:“是的”。宋义说:“我论定武信君必定会失败的。您若慢走可免遭一死,快步赶去将会遭受灾祸。”秦二世调动所有的兵力支持章邯攻打楚军,在定陶击败了楚军,项梁战死。
巨鹿战败
章邯击破了项梁的部队,认为楚地的残余军队不值得忧虑,于是便渡过黄河,向北进攻赵国,赵军大败。然后又率军到了邯郸,将城内的百姓全部迁到河内地区,邯郸城被夷为平地。张耳与赵王歇逃入巨鹿城,秦将王离将巨鹿城团团包围。陈余向北收集常山的士兵,达数万人,在巨鹿的北面驻扎下来。章邯的部队驻扎在巨鹿南面的棘原。赵王数次向楚国请求救援。
秦二世三年(前207年)冬季十月,宋义率军到达安阳救援赵国,停留四十六日不肯前进。
秦二世三年(前207年)十一月,项羽早晨去见上将军宋义,在营帐中斩了宋义的头。出帐后便向军中发布命令说:“宋义与齐国密谋勾结反楚,楚怀王暗下命令让我将他杀掉!”在这时,众将领都畏惧屈服了,没有人敢反对,都一致说:“最先立楚王的是将军家的人,现在将军又平定了叛乱。”于是大家都共同推举项羽为代理上将军。项羽又派人去追宋义的儿子,一直追到齐国将他杀掉。项羽派桓楚向楚怀王报告了情况,楚怀王便任命项羽为上将军。
章邯修筑甬道与黄河连接,为王离供应粮饷。王离兵多粮足,加紧进攻巨鹿。项羽杀死了卿子冠军宋义,声势威震楚国,又立即派当阳君英布、蒲将军率领士兵两万渡黄河援救巨鹿。战事稍有进展,便切断章邯所修筑的甬道,使王离军队的粮食短缺。陈余又请求增援兵力。项羽于是率领所有部队渡过黄河,凿沉了所有的船只,砸毁了锅、甑等炊具,烧毁了营舍,每人仅带三天的口粮,以此表示军队决一死战的决心与毫无退却之意。于是楚军到了巨鹿就将王离的部队包围,与秦军相遇,经过九次激烈的交战,大败秦军,章邯领兵退却。到了这时,诸侯的援兵才敢进攻秦军,诛杀了苏角,俘虏了王离。
王离军覆没之后,章邯军驻守在棘原,项羽军驻扎在漳河的南面,两军相互对峙,并没交战。秦军数次退却,秦二世为此派人责备章邯。章邯恐惧不安,派遣长史司马欣前去说明情况。司马欣到了咸阳后,在宫廷外门的司马门等了三天,赵高都不接见,并表示出不信任的意思。长史司马欣害怕,赶紧回到他的军中,不敢原路返回。赵高果然派人来追,但没追上。司马欣回到军中,向章邯报告说:“赵高在朝中掌握大权,下面的人无法作为。现在如果作战能够取得胜利,赵高必定会嫉妒我们的功劳;如果战败,注定免不了一死。希望您认真考虑!”章邯狐疑不定,暗中派遣军候始成去拜见项羽,准备和他定立和约。和约未定,项羽派蒲将军日夜兼程率军渡过漳河三户渡口,驻扎在漳河的南面,与秦军交战,再次打败了秦军。项羽又率领全军在汙水上攻击秦军,又击溃了敌军。
投降楚军
章邯派人前去拜见项羽,想和他订立合约。项羽便召集将领们商议说:“现在军中粮食缺乏,我准备答应他们议和的请求。”众将领都说:“很好!”项羽于是与章邯约定在洹水南面的殷墟上见面。双方订立了盟约,章邯见到项羽流下眼泪,并对项羽讲述赵高操纵大权陷害忠良的事。项羽便立章邯为雍王,将他安置在楚军中。任命长史司马欣为上将军,率领投降的秦军为先行部队。