刘邦于秦二世元年九月于沛县举兵起义,转眼间已是十月。秦以十月为岁首,此时已是秦二世二年。当时天下的形势是:周文所统率的十万义军,在戏水被章邯所统率的秦军打得大败而退还。在黄河以北,继武臣自立为赵王以后,他派往燕地的韩广在燕地自立为燕王,狄人田儋在齐地自立为齐王,宁陵君魏公子魏咎被陈王立为魏王。项梁及项籍起兵于吴后,也渡江加入反秦行列。
陈王陈胜、赵王武臣、燕王韩广、齐王田儋、魏王魏咎以及项梁与项籍,是秦二世二年年初反秦各路诸侯中的几支主要力量,都拥有一定的实力。而起兵于沛县的沛公刘邦,此时人少力单,处于举步维艰的境地。
刘邦退守丰邑后,当时章邯正率秦军东下,秦泗水郡(治所在相县,今安徽淮北市西北)名叫平的郡监率秦兵围攻丰邑。沛公领兵出战,击破秦军,命同乡雍齿守卫丰邑,自己领兵进攻薛(今山东滕县南)。泗水郡郡守名壮,在薛县战败,逃至戚县(今山东滕县)。沛公的左司马曹无伤捉住壮,并将他杀死。沛公领兵回到亢父(今山东济宁市南),到达方与,一路没有与敌军交战。此时,陈王派魏人周巿东向攻城略地,周巿派人对雍齿说:“丰曾是魏国的大梁被秦军攻占后的迁都之地,今魏王已平定数十城,您如果以丰邑投降魏国,魏国封你为侯,令你守卫丰城;如不投降,将屠杀丰城。”雍齿本来不愿归属刘邦,在周巿利诱威胁之下,便反而为魏国守卫丰城。
沛公得知雍齿反叛,带兵围攻丰,未能攻下。由于患病,刘邦便回到沛县。雍齿以丰邑背叛沛公,在精神上给沛公的打击很大,他十分怨恨雍齿及丰邑子弟在形势不利情况下的背叛行为。当时,章邯所率领的秦军气势正盛,陈王陈胜被叛徒庄贾杀害。起义军一时群龙无首,宁陵君与凌县(今江苏泗阳县西北)人秦嘉合谋立楚国的王族后裔秦嘉为“假王”,驻扎在留(今江苏沛县东南)。沛公走投无路,前往归附景驹,想要向景驹借兵攻打丰邑。但秦将章邯、偏将司马尼所率领的秦军由西向东追击,平定楚地,在相县(泗水郡治所)屠城之后,到达砀(今安徽砀山县南)。东阳宁君、沛公率军西上,与司马尼交战于萧(今安徽萧县西北)西,不利,退回留县,收编人马,率兵攻砀。围攻三日,砀城被攻下,收编防城人马,得五六千人。又进攻下邑(今安徽砀山县),将下邑攻克,然后回军丰县。这时,沛公闻听项梁在薛县,势力很大,便带领百余名骑兵前往拜见,项梁拨给他步兵五千人,五大夫将十人。沛公带兵回还,攻打丰邑。
沛公投奔项梁一个月之后,项羽(项籍字羽)已攻克襄城(今河南襄城县西)而还。项梁闻知陈胜已死,立楚怀王的孙子熊心为楚王,都于盱台(今江苏盱眙县东北)项梁号武信君。项梁派沛公、项羽攻打城阳(今山东-城县东南),攻克后屠城,驻军于濮阳(今河南濮阳县西南)之东,与秦军交战,大破秦军。
秦军于大败之后重新振作,坚守濮阳并引水环城以自卫。楚军离去而进攻定陶(今山东定陶县西北),未能攻下。沛公与项羽向西攻占土地,到达雍丘(今河南圮县)城下,与秦军交战,大破秦军,三川郡郡守、秦丞相长子李由被斩首。沛公与项羽并肩作战,回兵攻打外黄,未能攻下。
项梁由于屡败秦军,面有骄色,不听从上将军宋义的劝谏,在定陶被章邯所带领的秦军打得大败,项梁战死于疆场。正在进攻陈留(今河南开封县东南陈留镇)的沛公、项羽闻知项梁战死,与陈胜的部将吕臣一道率兵回师东进。吕臣驻军在彭城(今江苏徐州市)东面,项羽驻军在彭城西面,沛公驻军于砀山一带。
秦将章邯击破项梁军后,以为楚地已不足为忧虑,便渡过黄河北上攻击河北各路义军。项梁于秦二世二年九月战死,待至十月,已是秦二世三年(公元前207年)。楚怀王因项梁兵败战死而恐惧,由盱台迁都于彭城,把吕臣和项羽所带领的军队合并,由自己统领。任命沛公为砀郡长,封为武安侯,统率砀郡兵马;封项羽为长安侯,号为鲁公;任命吕臣为司徒,以吕臣的父亲吕青为令尹。