公元前 207年 10月,刘邦率十万大军顺利进至霸上。此时,秦都城咸阳已经成为刘邦的囊中之物。刘邦知道此时争取和平解决很重要,便派使者敦促秦王子婴投降。秦王子婴见大军已经兵临城下,秦王朝大势已去,便乘素车白马率朝中百官出降。
秦王子婴向刘邦投降,宣告了曾经不可一世的秦王朝的灭亡。当时,刘邦属下大多出于对秦朝的愤恨,纷纷要求杀死子婴。刘邦心知如果同意杀掉子婴,秦朝各贵族一定难逃屠戮,必会奋起抵抗。于是,坚决表示: “当初怀王派我西征,就是因为我能够宽容待人。而且,人家已经顺服投降,如果再加以杀戮,实在是有悖于民意。 ”便将秦王看押起来,好生照顾。
刘邦如何能够迅速地取得攻占关中的巨大胜利,原因是多方面的。
第一,刘邦的准备工作做得非常充分。刘邦在短短四个月的时间里,凭借萧何、韩信等一班得力的文臣武将,全力进行出关作战的准备工作。一面收取巴蜀之军,使之与汉军联成一气,稳定秩序,发展生产,建立巩固的战略后方;一面加紧训练士卒和认真选拔将帅,从而使刘邦军队的军事实力得到增强。尤其选拔韩信于万军之中并授以指挥的全权,使刘邦军的决策水平和战役指挥艺术有了进一步提高。
第二,刘邦采纳张良之计,在退驻汉中以后毅然忍痛烧毁了栈道,这一行动分散了项羽的注意力,使他相信刘邦在短期内是不会进攻关中地区的。从而将监视堵截刘邦冲出巴蜀的军事重任全盘委托给关中的三个秦朝降将。项羽自己并没有在关中地区留下足够的军事力量来对付刘邦,这就使刘邦在进军关中时没有遇到太大的阻力。
第三,张良的活动为刘邦的准备和向关中进军,起了有效的掩护作用,而项羽在处理刘邦的问题上连连失误。
刘邦在接受秦王子婴投降之后,便率领这支由楚国而来的十万大军向西进发,兵不血刃就开入了秦都咸阳城。与此形成对照的是,章邯所率秦军向项羽投降后,项羽认为河北大局已定,下一步最重要的是进军关中,与刘邦争夺关中王,以便掌握天下。此时,赵将司马卬已将河内之郡县全部占领,申阳率兵进占了洛阳。司马卬与申阳都与项羽站在一边,因此项羽所率大军得以顺利经过两河地区,向关中前进。
但是,当项羽进至新安地区后,由于楚军将士对秦降兵任意欺凌,引起秦降兵的不满和怨恨。项羽得知这些情况后,不是研究正确对待投降秦军的政策,而是残暴地将除章邯、司马欣、董翳之外的二十万秦军全部坑杀。这是继战国期间白起坑杀四十万赵军降卒之后,又一次大规模坑杀降卒的事件。项羽坑杀降卒的暴行,立刻引起了秦人的愤恨。从此, “天下多怨,百姓不附 ”,项羽终于将天下民心丧失殆尽。
刘邦占领咸阳后,采纳谋士占据关中以称王的建议,迅速派兵防守函谷关,以阻止项羽大军进入关中地区。当项羽军至函谷关前,得知刘邦已派兵据守函谷关,盛怒之下,命英布等人攻关。