秦始皇常说“东南有天子气,于是东游以厌之。”刘邦自疑,隐于芒、砀山泽岩石之间。折叠沛县起兵陈胜起兵,沛令恐,欲响应陈胜,萧何、曹参等劝沛令召回刘邦。沛令答应,于是派樊哙往召刘邦。刘邦至沛,而沛令反悔,于是刘邦率约百人于沛县城外射信说服城内人诛杀县令,被立为沛县令,发县中约3千子弟响应起义,攻占沛县等地。刘邦起事后,兵力达到二三千人,攻胡陵、方与,还守丰。

秦泗水监平将兵围丰,为刘邦军所破。接着刘邦命雍齿守丰,亲率军攻薛,泗水守壮战败逃到戚,不久为沛公左司马所杀。刘邦还军亢父。至方与,周市来攻方与,雍齿据丰降魏。刘邦攻丰,不能下。时东阳宁君、秦嘉在留立景驹为王,刘邦欲往投并借兵还攻丰,道遇张良。

章邯别将司马尼北定楚地,屠相,至砀。东阳宁君与沛公率军西迎击,与战萧西,不利,还聚兵于留,再攻砀,三日乃取,得兵五六千人。接着攻下邑,拔之,还军丰。时项梁在薛,刘邦率骑纵骑百余往从,项梁益刘邦卒5000人、五大夫将十人,刘邦反攻丰,拔之。

不久项梁把在外诸将召还在薛,在得知陈王确实已死的迅息后立楚怀王。项梁别号武信君,命项羽、刘邦别攻城阳。项羽、刘邦攻下城阳,然后又在濮阳之东与秦军战,破之。秦军再次聚结,守濮阳、环水,楚军离开去攻定陶,未下,即西略地至雍丘,与秦军战,大破之,沛公将曹参杀丞相李斯之子秦将李由。项羽、沛公还师攻外黄,未下。九月,项羽、刘邦攻陈留时,闻章邯破项梁军而项梁战死,刘、项还师。

吕臣军驻彭城东,项羽军驻彭城西,沛公军驻砀。秦二世二年闰九月,楚怀王徙都彭城,并收项羽、吕臣等诸军自将之。以沛公刘邦为砀郡长封武安侯,将砀郡军。项羽为长安侯,鲁公。吕臣为司徒,其父吕清为令尹。时秦军围赵甚急,赵数向楚请求救兵。楚怀王以宋义为上将军,项羽为次将,范增为末将,北上救赵。

而沛公率军西攻秦。当时秦军强,常乘胜逐北,诸将都认为西入关攻秦没有好处,都不愿去,只有项羽因为叔父之死,愿意随沛公入关攻秦。

入关灭秦

秦二世二年十月(前208年十月),刘邦率军西征,收项梁、陈胜散卒,经砀,至成阳,与杠里秦军夹壁,破魏二军。接着在成武南攻王离军及东郡尉,大破之。随后楚军引兵西,在昌邑遇彭越,与彭越军合攻昌邑,未下。十二月,还至栗,遇刚武侯,夺其军约四千余人。

与魏将皇欣、魏申徒武蒲之军并攻昌邑,未下,绕过至高阳。秦二世三年二月,在高阳,郦食其投奔刘邦,其弟郦商亦将兵跟随。用郦食其策,攻陈陈留,破秦军,得粟。三月,攻开封,未下。引兵西至白马与秦将杨熊战,破之,又追至曲遇东,大破之,杨熊逃至荥阳为秦二世派使者斩杀。四月,南攻颖阳,屠之。

因张良遂略韩地轘辕。当是时,赵别将司马卬方欲渡河入关,沛公乃北攻平阴,绝河津。南,战雒阳东,军不利,还至阳城,收军中马骑。六月,与南阳守齮战犨东,破之,略地至南阳。南阳守齮走,保城守宛。七月,刘邦不再攻宛,直接率军西去,张良及时劝阻,刘邦回师攻宛。