秦二世元年(前209)九月,沛县人刘邦在沛县起兵反秦。
斩蛇起义
刘邦字季,初为泗上亭长。一次,奉命为县里押送刑徒到骊山服劳役,刑徒多数在途中逃走。刘邦估计到了骊山人都跑光了,于是他走到丰西泽中亭,停下休息饮酒,到了晚上,他释放了所有的刑徒,对他们说:“你们快逃走吧,我也从这里逃走。”刑徒中有十多名壮士愿意跟随他一起逃跑。刘邦随后逃走,隐藏在芒、砀山的草泽山石之中,在他身上多次发生奇怪的事情,其中以斩白蛇最为知名。刘邦释放役徒之后乘着酒意,夜里抄小路通过沼泽地,让一个人在前边先走。走在前边的人回来报告说:“前边有条大蛇挡在路上,还是回去吧。”刘邦已醉,说:“大丈夫走路,有什么好怕的!”于是赶到前面,拔剑去斩大蛇。大蛇被斩成两截,道路打开了,继续往前走了几里,醉得厉害了,就睡倒在地上。
沛县的年轻人听说后,许多人都想依附他。等到陈胜起兵时,沛县的县令也打算响应,沛县的掾主吏萧何、曹参说:“您作为秦朝的官吏,想要率领沛县的年轻人反叛朝廷,恐怕他们不会跟随您。最好把逃亡在外的人都召集回来,能得到数百人,借用他们胁迫众人,众人就不敢不服从了。”县令便派樊哙去召刘邦,这时刘邦的部众已有数十百人了。沛县令很后悔,担心会发生变故,于是下令紧闭城门,并准备要杀掉萧何、曹参。萧、曹二人十分害怕,越城逃跑,去投奔刘邦以求自保。刘邦在丝绸上写了一封信,用箭射进城中,送给沛县的父老,向他们讲述利害关系。沛县的父老率领他们的子弟一起将县令杀了,打开城门迎接刘邦,拥立他为“沛公”。萧何、曹参为刘邦在沛县召集青年,得到三千人,以响应天下诸侯抗秦的行动。
秦二世二年(前208年)冬季十月,泗水郡郡监平率秦军将刘邦包围在丰邑,刘邦领兵迎击,击败了秦军,命令雍齿守卫丰邑。十一月,刘邦领兵去攻打薛县。秦泗水郡守壮在薛县战败,退到戚县,刘邦的左司马将他杀掉。
楚王景驹驻扎在留县,刘邦领兵前去归附。这时张良也聚集了一百多年轻人,准备前去投奔景驹,途中遇到刘邦,便成了他的部下,刘邦任命张良为厩将。张良数次为刘邦讲《太公兵法》;刘邦非常欣赏他,经常采用他的计策。张良也向其他人讲述太公兵法,可是那些人却不能理解,张良说:“沛公大概是天授的奇才。”所以留下来不再他往。
刘邦与张良一同去见景驹,想请求增援兵力进攻丰邑。这时章邯部中一个叫仁的司马率军向北攻占楚地,在相县屠城,又打到砀县。东阳人宁君与刘邦率军西去,在萧县西部与秦军交战,因失利撤兵退回,收兵聚集在留县。秦二世二年(前208年)二月,刘邦率军进攻砀县,经三天的激战,砀县被攻下,收集砀县的降兵达六千人,与原有的士兵汇集一起,共有九千人。三月,刘邦又率军进攻下邑,攻破后,回师进攻丰邑,还是没能攻下。
当初,原楚国贵族的后代项梁、项羽在吴县(今江苏苏州)起兵,后渡过淮河扩张势力,攻灭秦嘉、景驹等部。刘邦听说项梁在薛县,于是留下军队包围丰邑,自己率领一百余骑至薛县见项梁。项梁给刘邦增兵五千、五大夫将十人,三攻丰邑。
刘邦从属项梁一个多月后,项羽也攻下襄邑也还至薛县。当陈胜死亡的消息被证实,项梁把别将全都召回薛县,采纳范增的建议,拥立战国时楚怀王的孙子熊心为楚王,仍号楚怀王,定都盱眙。刘邦与英布、蒲将军、吕臣、陈婴等将领共同参与拥立了楚怀王。
破关入秦
秦二世二年(公元前208年),项梁下令楚军分军,以刘邦、项羽领兵,率楚军一部攻城阳。刘项二人率军攻下城阳(即成阳,今山东菏泽市东),屠之。然后追击秦军至濮阳东,再次大破秦军。秦军这时得到增援,军势再次振兴,据守濮阳,放水环绕城池。刘项二人于是绕过濮阳,转攻定陶(今山东定陶)。定陶未攻下后,又向西攻打雍丘(今河南杞县)。刘项两军大破秦兵,刘邦麾下曹参斩杀三川郡的郡守李由,并俘虏秦侯一人。
秦二世二年九月(公元前208年9月27日至10月25日期间),正当刘项两军进攻陈留之时,章邯大破项梁于定陶,项梁战死。刘项二人大惊,在商量后决定放弃陈留,还军东归。刘项二人分兵,项羽军驻彭城西、吕臣军驻彭城东,而刘邦军驻砀县。
与此同时,被困于巨鹿的赵王歇与张耳遣使至楚向楚国求救。楚怀王答应救赵。但为了分散秦军力量,决定派一支部队西向直接攻秦。楚国北路军以宋义为主将,西路军以刘邦为主将。约定谁先入关中,谁就可在关中称王。
当时由于陈胜、项梁相继败亡,秦军兵势正盛,楚国上下皆不看好西征,谁都不愿意领军西征。怀王身边的老将们认为唯独刘邦向来宽厚,是有德行的长者,适合“扶义而西”,减少西进阻力,能更好地不动用暴力让秦国父老归顺,于是任命刘邦为西征军统帅。而项羽则因为叔父之死,比较激愤,积极要求随同刘邦西征。但所有老将皆以项羽为人“僄悍滑贼”及“所过皆残灭”不利于西征为由拒绝了项羽的要求,让他担任北路军的次将北上救赵。
秦二世三年(前207年)十二月,刘邦率军到达栗时,遇到刚武侯,夺取他的四千多士兵,与自己的队伍合并起来。又同魏将皇欣、武满的部队联合起来进攻秦军,将秦军击败。
昌邑城没攻下来,刘邦率军向西进发,经过高阳。高阳人郦食其,家境贫寒而困苦失意,做了看守里门的小官吏。刘邦部下的一个骑兵恰好与郦食其是同乡,郦食其因此拜见刘邦。郦食其到了之后,入门拜见。刘邦正伸开双脚坐在床上,让两个女子给他洗脚,一边接见郦食其。郦食其进来后,只做了拱手礼,并没有跪拜,问刘邦说:“您是帮助秦朝去攻打诸侯呢?还是率领诸侯去进攻秦朝呢?”刘邦骂道:“没有见识的儒生!天下人同受秦朝暴政苦难已经很久了,所以诸侯起来进攻秦朝,怎么能说去帮助秦朝攻打诸侯呢?”郦食其说:“您如果真的要聚集群众、联合正义的军队士兵去讨伐暴虐无道的秦朝,就不应该以这样傲慢无礼的态度接见长者!”刘邦于是停下洗脚,起身整理好自己的衣服,请郦食其坐上座,然后向他道歉。刘邦于是派郦食其前往陈留,他自己率军紧随其后,随即攻下了陈留。刘邦封郦食其为广野君。郦食其又说起他的弟弟郦商,当时郦商聚集青少年四千多人,前来投奔于刘邦,刘邦任命郦商为将,令他率领陈留的军队跟随自己。郦食其常常充当说客,出使诸侯各国。
秦二世三年(前207年)三月,刘邦进攻开封,未能攻下。便向西与秦将杨熊在白马进行会战,又在曲遇东展开交锋,击败秦军。杨熊逃到荥阳,秦二世派使者将他斩首示众。
秦二世三年(前207年)夏季四月,刘邦率军向南进攻颍川,对其进行了屠城。因得到张良的协助,占领了故韩国地。
张良带兵跟随刘邦,刘邦命令韩王韩成留守阳翟,自己和张良一起向南进军。六月,刘邦与南阳郡守吕齮在犨东进行交战,打败了秦军,占领了南阳郡。南阳郡守逃到宛城,固守城池。刘邦率军绕过宛城,向西而行。张良劝他说:“如果现在不把宛城攻下,宛城的敌军一旦从背后袭击我们,强大的秦军在前面阻击,那是非常危险的!”刘邦于是趁夜率军走另一条道返回,收起旗帜,在天亮前,将宛城重重围住。秋季七月,南阳郡守吕齮投降,刘邦封他为殷侯。于是刘邦率军西行,所过的城邑没有不投降的。当到达丹水时,高武侯鳃、襄侯王陵也都归降了。刘邦进军到胡阳,遇到番君的别将梅鋗,便和他一同进攻析、郦两县,两县也都投降了。刘邦下达命令,凡是军队所经过的地方禁止掳掠,秦地的百姓都非常高兴。
秦二世三年(前207年)九月,赵高杀死秦二世,子婴杀赵高而为秦王。子婴派遣将领率军到峣关增援,刘邦准备攻打峣关的秦军。张良说:“秦军的力量还很强大,不可轻视。希望您派人到附近的山上多树立旗帜,作为疑兵,再派郦食其、陆贾去游说秦将,以利诱惑。”秦的将领果然想停战讲和,刘邦准备答应他们的请求。张良说:“这只是秦军的将领想要叛秦,恐怕士兵不一定服从,不如乘着斗志懈怠时攻打他们。”刘邦便率军绕过峣关,翻过蒉山,进攻秦军,在蓝田的南面打败秦军。随后到了蓝田,又与秦军在蓝田北面交战,彻底击溃了秦军。
汉高祖刘邦元年(前206年)冬季十月,刘邦率军到达霸上。秦王子婴乘着白马素车,脖子上系着绳索,以示自己要自杀,封好皇帝的玉玺和符节,在轵道路旁下车投降。诸将领中有人提出杀掉秦王,刘邦说:“当初楚怀王派我到这儿来,原本就认为我能够宽容。何况人家已经投降了,再把他杀了是不吉利的。”于是将秦王子婴交给官吏看管。
贾谊论曰:秦以区区之地,致万乘之权,招八州而朝同列,百有余年,然后以六合为家,肴、函为宫。一夫作难而七庙堕,身死人手,为天下笑者,何也?仁谊不施,而攻守之势异也。