公元前206年,已经逐步强大起来的刘邦,派大将军韩信出兵东征。韩信向刘邦进献了夺取三秦的计策“明修栈道,暗度陈仓”。
首先他派樊哙带领一万老弱病残的士兵去修复之前被烧毁的褒斜栈道,以此迷惑章邯,造成汉军要从褒斜到东出的假象。五百里的栈道要想修好至少需要数年。所以章邯并未做出相对应的部署。与此同时,韩信又派曹参率军走祁山道,北上攻取下辩。樊哙也被偷偷抽调出来率军走祁山道直逼上邽。
章邯得知汉军的行动,判断汉军是想夺取陇西之地,于是派兵支援上邽。实际上曹参和樊哙都是韩信布置的疑兵,目的就是要分散章邯的兵力。章邯派兵援助上邽后,刘邦和韩信带领汉军主力部队走陈仓道,向陈仓进军。曹参夺取下辩后向东与刘邦会师,北上攻取陈仓。
章邯得知刘邦韩信进攻陈仓,立即率领大军西进救援陈仓。原本章邯就在陈仓布置了防守兵力,在加上章邯亲率大军救援,汉军一时间无法攻破陈仓。就在刘邦想要退兵的时候,韩信得知还有另外一条路到达陈仓,这是一条沿着渭河直通陈仓的狭窄小路名为陈仓狭道,于是韩信挑选了一批精锐的将士,走陈仓狭道,抵达渭水北岸突袭陈仓。同时韩信率军由南向北进攻陈仓。汉军南北夹击很快就拿下了陈仓。章邯被迫退守雍城。此时关中西大门被完全打开,关中已经无险可守。韩信又兵分两路,一路由刘邦韩信率领围攻雍城。章邯不敌,退守废丘。刘邦追击至废丘。另一路由曹参追击章平至好畤,章平不敌,退守咸阳。曹参继续追击到咸阳,章平退守至漆县。