228年春天,蜀軍準備好北伐,督前部,領丞相司馬、涼州刺史魏延提出子午谷之計,據魏略記載:魏延建議由其率精兵五千,負糧五千,直從褒中出,循秦嶺而東,當子午而北,不過十日可進軍至長安。鎮守長安的魏國安西將軍夏侯楙怯而無謀,「聞延奄至,必乘船逃走」,長安唾手可得。魏國聚集軍隊「尚二十許日」,諸葛亮大軍可趁機「從斜谷來,必足以達」。如此便可一舉平定長安以西。但諸葛亮認為此計不定因素太多,未必能如此順利,一旦失利將陷於進退維谷之地,最終選擇了「安從坦道,可以平取隴右,十全必克而無虞」,確立了先攻佔隴右作為進攻跳板的戰略。
蜀章武三年( 223年 )
四月﹐劉備白帝托孤﹐
五月﹐劉禪即位﹐封諸葛亮為武鄉侯;蜀改元建興。朱褒、雍闓、高定等四郡背叛。
十一月﹐鄧芝赴吳﹐重修舊好。魏國曹仁、曹彰、賈詡皆於此年死。
蜀建興二年( 224年 )夏﹐東吳張溫聘蜀。
九月﹐曹丕率戎卒十餘萬東巡﹐東吳徐盛獻計沿江築假城﹐漫延數百里﹐一夕而成;曹丕望大江﹐見無隙可圖﹐於是退兵。
蜀建興三年( 225年 )諸葛亮征南四郡﹐皆平。收其勁卒﹐分為賓叟、青羌、突將、無前、無當五部﹐號 稱飛軍。
蜀建興四年( 226年 )李嚴在江州築大城。曹丕死。曹叡即位﹐以曹真為大將軍﹐華歆為太尉﹐司馬懿督 荊豫諸軍鎮於宛城。孫權攻江夏﹐為文聘所拒。
蜀建興五年( 227年 )諸葛亮率諸軍北駐漢中﹐屯於沔北之陽平、白馬山﹐臨行上<前出師表>。曹叡聞諸葛亮駐漢中﹐欲先伐之﹐散騎常侍孫資勸阻﹐曹魏改採守勢。東吳韓當之子韓綜率其眾降魏。
十二月﹐孟達反魏投蜀。諸葛亮遣偏將下西城、木蘭寨救之﹐司馬懿阻援打點﹐遂拔新城﹐斬孟達。
諸葛亮為什麼要出兵隴右 ?宋代著名將領虞允文曾評西北形勢雲︰" 關中天下之上游﹐隴右關中之上游﹐故欲控有關中﹐宜先控制隴右。隴右即隴山以西﹐今甘肅黃河以東地區。隴右形勢較關中高﹐故曰關中之上游﹐為控領關中的制高位置。此地人民習尚氣力﹐勤耕稼﹐修戰備﹐自古為用兵之地。
光祁山一帶﹐就有民萬戶。地方富庶﹐與屢遭戰亂的關中地區相比﹐相差甚大。曹操也因地方資源豐富﹐將漢朝三郡的建置擴為六郡﹐是為隴右六郡﹐計有︰隴西郡八縣﹐狄道為郡治。天水郡十縣﹐上邽﹑祁山﹑街亭均屬於此郡。南安郡三縣﹐以騵道為郡治。廣魏郡兩縣﹐臨渭縣﹐平襄縣。陰平郡兩縣﹐與武都郡在蜀建興七年(229) 年被諸葛亮攻下。
武都郡五縣﹐下辨﹐建威﹐故道﹐皆在此。下辨為郡治。此地的戰略位置重要﹐魏將鄧艾曾說︰" 狄道﹑隴西﹑南安﹑祁山﹐各當有守。" 鄧艾都知道此地的重要性﹐諸葛亮不可能不知。諸葛亮若取得此處﹐除地理制高的優勢外﹐更可以斷絕曹魏與涼州的交通。待取得涼州驍勇羌兵及馬匹增長勢力後﹐再向關﹑洛進兵﹐興復漢室。諸葛亮更有以下幾個考量︰
第一﹑運糧問題在古時交通不便的情況下﹐往往決定了行軍的路線﹐甚至戰爭的勝利。嘉陵江發源自散關﹐南流至重慶入長江﹔眾多水脈均與其相接。如欲以嘉陵江水運軍糧﹐則北可達上邽﹐西則為祁山﹐東可至故道斜谷。倘能善用此水道運糧﹐在以陸路運至渭河上游﹐再順渭河而進( 關中地區即為渭河盆地 )﹐則到洛陽都毋須操煩糧運。
第二﹑祁山以西多產馬匹﹐而戰馬是蜀最缺乏的。關中三輔及洛陽附近地區皆適合騎兵作戰﹐曹魏本身多陸騎( 因幽﹑涼兩州產馬 )﹐要與之決戰﹐戰馬不可或少。
第三﹑取得隴右既可斷魏涼州之連繫﹐獲得隴右及涼州的馬匹外﹐又可結好羌戎﹐助其復國大業。馬超投奔劉備﹐劉備以其領涼州牧﹐也有這方面的用意。
第四﹑以行進路線而言﹐漢中直達關中諸道險阻難行﹐不似隴右大軍易於出入。總之﹐武侯鑒於以上考量﹐並不急著與曹軍決戰﹐而為持久之計﹐遂將戰場定於隴右﹐這也是後來武侯不贊同魏延子午谷之計的其中一個原因。