这年三月,沛公刘邦攻打开封,没能攻克。他带兵向西,在白马和秦朝将领杨熊交战,又在曲遇东面会战,把杨熊打得大败。杨熊逃到荥阳,秦二世派使者将他斩首示众。
到了夏天四月,沛公向南攻打颍川,进行了屠城。因为张良的缘故,趁机攻占了韩国旧地。当时赵国的别将司马卬正打算渡过黄河进入关中。沛公就向北攻打平阴,封锁了黄河南岸的渡口,然后在洛阳东面与秦军交战。但这次战斗没有取得胜利,沛公就向南从轘辕关撤出。张良带兵追随沛公。沛公命令韩王成留守阳翟,自己和张良一起向南进军。
六月,沛公和南阳郡守齮在犨县东面交战,打败了秦军,占领了南阳郡;南阳郡守逃到宛城,坚守不出。沛公带兵绕过宛城,继续向西前进。张良劝说道:“沛公您虽然想尽快进入关中,可秦军数量还很多,又凭借险要地势防守。现在不拿下宛城,要是宛城的秦军从后面攻击,前面又有强大的秦军阻挡,这可是很危险的啊。”于是沛公在夜里带领军队从其他道路返回,偃旗息鼓,天快亮的时候,把宛城包围了三层。南阳郡守想自杀,他的门客陈恢说:“现在死还太早呢。”陈恢就翻过城墙去见沛公,说:“我听说您和诸侯约定,先进入咸阳的就封王。现在您留下来围攻宛城,宛城周围几十座城池的官吏百姓,都认为投降肯定会死,所以都坚守城池。要是您一直强攻,士兵死伤一定很多。如果您带兵离开宛城,宛城的秦军必定会跟在您后面追击。这样您向前就无法遵守先入咸阳封王的约定,后面又有宛城的威胁。我为您考虑,不如招降宛城,封郡守官职;让他继续留守,带领他的士兵和您一起向西。那些还没被攻下的城池,听到消息后会争着开门迎接您,您就可以畅通无阻地前进了。”沛公说:“好主意!”这年秋天七月,南阳郡守齮投降,沛公封他为殷侯,封陈恢为千户。沛公带兵向西,所到之处没有不投降的。到达丹水时,高武侯戚鳃、襄侯王陵也投降了。沛公回军攻打胡阳,遇到番君的别将梅鋗,就和他一起攻打析县和郦县,两县都投降了。沛公军队经过的地方,没有进行抢掠,秦国的百姓都很高兴。
王离的军队被消灭后,章邯的军队驻扎在棘原,项羽的军队在漳水南岸,双方对峙,没有交战。秦军多次后退,秦二世派人责备章邯。章邯害怕了,派长史司马欣回咸阳请示事务。司马欣到了咸阳,在司马门停留了三天,赵高都不见他,表现出不信任的意思。司马欣很害怕,就跑回军队,不敢走原来的路。赵高果然派人来追他,没追上。司马欣回到军中,报告说:“赵高在朝中掌权,下面的人什么事也做不成。现在如果作战能取胜,赵高必定会嫉妒我们的功劳;要是不能取胜,也免不了一死。希望将军您仔细考虑!”陈馀也给章邯写信说:“白起做秦国的将领,向南征讨鄢郢,向北活埋了赵括的军队,攻城略地,战功无数,可最终还是被赐死。蒙恬做秦国的将领,向北驱逐戎人,开拓榆中几千里的土地,最后在阳周被斩杀。为什么呢?因为功劳太多,秦国不能全部封赏,就找借口用法律杀了他们。如今将军您做秦国的将领已经三年了,损失的军队有几十万,而诸侯纷纷起兵,越来越多。那个赵高长期以来阿谀奉承,现在形势危急,他也害怕秦二世杀他,所以想借法律杀了将军来推卸责任,派人代替您来摆脱他自己的灾祸。将军您在外带兵时间久了,在朝中有很多人怨恨您,有功也会被杀,无功也会被杀。而且上天要灭亡秦国,无论愚蠢还是聪明的人都知道。现在将军您在内不能直言进谏,在外做着亡国的将领,孤立无援还想长久活下去,难道不可悲吗!将军您为什么不回兵和诸侯联合,相约共同攻打秦国,瓜分秦国的土地,南面称王!这和您自己伏在砧板上受刑,妻子儿女被杀相比,哪个更好呢?”
章邯犹豫不决,暗中派军候始成出使项羽军中,想要订立和约。和约还没谈成,项羽派蒲将军日夜兼程带兵渡过三户,在漳水南岸驻军,与秦军交战,再次打败了秦军。项羽接着带领全部军队在污水攻击秦军,把秦军打得大败。章邯又派人见项羽,想订和约。项羽召集军官们商议说:“我们粮草短缺,我想答应他的和约。”军官们都说:“好。”于是项羽和章邯约定在洹水南岸的殷墟上会面。订完盟约后,章邯见到项羽,流着泪,向他诉说赵高的种种行径。项羽就封章邯为雍王,留在楚军之中,任命长史司马欣为上将军,带领秦军作为先行部队。
瑕丘人申阳攻下河南,带兵追随项羽。
当初,中丞相赵高想独揽秦国大权,又怕群臣不听从他,就先设了个圈套试探。他牵来一只鹿献