公元前206年秦朝被推翻後,項羽依仗強大的兵力,迫使先入秦都咸陽的劉邦退出,自己率兵進入,並稱西楚霸王。接著,項羽封劉邦為漢王,讓他統治偏遠的漢中(今陜西南部)和巴蜀(今四川)地區。同時,為防止劉邦再入關中,項羽將富饒的關中讓秦軍的降將把守。
劉邦自知兵力不如項羽,只得忍氣吞聲。在去封地的路上,他採用張良的計策,將長達好幾百裡的棧道全部燒掉,以示再無回關中之心,從而使項羽對其疏於戒備。同年八月,有人起兵反項。劉邦認為這是個出兵關中的好時機。大將韓信建議派人去修棧道以迷惑敵方,劉邦採納他的建議,並開始修復棧道。守衛關中的秦降將章邯譏笑劉邦不知要修到何年何月。實際上,韓信暗地裡正為攻打陳倉積極地作準備。不久,韓信迅速出兵,攻下了陳倉。章邯得知後非常恐慌,但為時已晚。章邯被逼自殺,駐守關中東部的司馬欣和北部的董翳,也相繼投降,號稱三秦的關中地區,於是一下子全被劉邦佔領了。原來韓信表面上派兵修復棧道,裝作要從棧道出擊的姿態,實際上卻和劉邦統率主力部隊,暗中抄小路襲擊陳倉,趁章邯不備,取得了勝利。後世的人就用「明修棧道,暗渡陳倉」比喻暗中進行某些別人不知道的活動。