諸葛亮攻克永安後,因為永安北臨上庸,南臨江州,東接江陵,為戰略要地,在此整頓軍政,部署防禦,修建工事,命令周泰、譚雄率領四萬精兵駐守永安。
諸葛亮起兵十一萬南下,攻取成都以東門戶重鎮江州。江州城內原有守軍一萬,後來劉璋、嚴顏敗回,共有守軍二萬五千左右。後來劉璋因為江州守兵太少,派人赴成都求援,劉焉派吳蘭、呂義、法正三將率領成都三萬精兵前往江州,江州城內守軍共五萬五千左右。
諸葛亮讓黃忠、魏延兩將各率所部,分左右兩路攻打江州以北各縣,自率中軍從中路前進,黃忠最先殺到江州城北,立下大寨,等候諸葛亮大軍。
嚴顏見黃忠兵少,集兵與戰。黃忠列軍陣於營前,策馬立於陣前,大喝道:「汝等何人敢與我決一死戰。」川將吳蘭向來自負武功高強,況且黃忠大名尚未遠揚西川,拍馬挺槍上前。
黃忠手持大桿刀,照吳蘭劈頭蓋臉砍來,吳蘭挺槍上舉,只聽「叭啦」一聲,槍桿中斷,刀鋒順勢而下,竟將吳蘭坐騎劈死。所幸吳蘭見勢不妙,從坐騎上跳下,狼狽不堪,往自己軍陣跑去。
嚴顏見勢不妙,與呂義兩人策馬疾馳,恰巧攔住黃忠,黃忠獨戰兩將,毫不畏懼,三匹馬在場上奔馳如雷,兵器相交聲震耳。三將相交百餘合,不分勝負。
嚴顏見雙戰黃忠,猶不能取勝,欺負黃忠兵寡,打個手勢,劉璋傳下將令,大軍疾衝而上。黃忠見川軍殺來,虛晃一招,策馬奔入陣中,傳令擺起沖峰陣法。
沖峰陣法是諸葛亮自創,兵分四股,前面三股兵力擺成長方形,平行豎列,後方一股也為長方形,卻是橫列,兵形極像漢字「山」字。
川軍前軍不識此陣歷害,向前疾衝。此時黃忠所部陣法變幻,前軍中軍突然往後一撤,前軍左右兩軍從前面往中間靠攏,與中軍拼成一個圓陣,將川軍前軍五千餘人隔絕。
黃忠後軍此時上前,順序加入轉動的圓陣之中,轉到川軍後軍之時,卻組成一個方陣,各兵陣相互配合,只御不攻,阻擊川軍後軍。
圓陣此時威,迅往前包緊,將五千餘川軍頓時圍在核心。川軍用盾兵組成一個圈子,意要困守一時,靜待後軍支援。只見黃忠所部步兵推出強駑,所駑箭威力無比,擊中盾牌之後,川兵邊人帶盾,被推入陣中十餘米。
川軍頓時混亂起來,軍陣不成,立時潰散,黃忠命令所部樹起招降旗來,五千餘川軍被強駑嚇破膽子,紛紛棄械投降。
黃忠迅收得降兵,正欲再組衝鋒陣法,引誘敵軍進陣,卻見川軍左翼混亂起來,一彪人馬如箭頭般刺破川軍防線,擾亂敵軍陣勢,為一員大將,正是魏延魏文長。
黃忠大喜,傳令也排起箭形陣法,自率親兵為前鋒,大軍似出弦之箭,直插川軍中軍。劉璋此時在中軍正中央處,見黃忠、魏延兩將從兩個方向,都向這邊衝來,所到之處,川莫有抵擋者,不由大吃一驚,連忙往後撤出,帶動將旗往後。川軍見中軍擺動,不由心慌,軍形又隨將旗後移,頓時軍陣潰散。
嚴顏見勢不妙,連忙鳴金收兵,被黃忠、魏延兩軍趕殺一陣,入城盤點士兵,又折了萬餘。嚴顏與金旋兵連戰連敗,不由心寒意冷,他向為川將之,手下川將更是士氣低迷。
諸葛亮大軍趕來,見兩將已大勝一場,重賞兩陣,聞黃忠以少勝多,詢問當時戰狀,不由讚揚道:「黃將軍不虧為主公之師,一身忠膽正氣,確實英勇無敵。有黃將軍在此,下西川易也。」
法正以前金旋大婚之時,得金旋高看一眼,曾與金旋密談多時,早有歸降之心,聞諸葛亮大軍趕到,派遣心腹秘密趕至諸葛亮大營,獻上江州城防圖式。諸葛亮閱圖大喜,重賞來使,寫書授法正密計。
蠻王孟獲派其弟孟優,率領蠻兵五萬前來助戰,劉璋大喜,命其兵為前鋒,出城與諸葛亮大軍交戰。兩軍對圓,蠻將楊鋒出陣挑戰,黃忠拍馬相迎,未及十合,楊鋒氣力不加,為黃忠用刀桿撥落馬上,生擒過來。蠻將忙牙長來救不及,卻被魏延上前接著,未有十合,又為魏延生擒。蠻將兀突骨大怒,揮刀上場,正逢黃忠將楊鋒交回陣後撥馬回來,兩將一場大戰,將近百合,兀突骨漸覺不支,撥馬歸陣。諸葛亮見敵軍士氣已失,揮軍殺上,劉焉軍又大敗一陣。諸葛亮回營,良言撫慰忙牙長、楊鋒,釋放兩將回城,使勸孟優退兵。
兩將回城,往說孟優。孟優召蠻將相議,諸蠻將見諸葛亮大軍兵精將勇,皆有懼意,忙牙長、楊鋒又極力美言,孟優決定退兵。次日,孟優不辭而別,率軍返回雲南。劉璋見蠻軍退兵,強援已去,諸將皆慌,軍無戰心,召諸將相議。
嚴顏曰:「今諸葛亮足智多謀,兵精將廣,江州兵微將寡,決非其敵。不若遣使與馬騰求和,李嚴、張任大軍來援,背城一戰,勝負未可知也。」
劉璋聞言,遣人火趕往成都,將嚴顏之意報於劉焉。此時劉備忙於苑城防務,無暇西顧,孟優不辭而別,急切間確實難尋外援,無奈派遣使者與馬騰講和,欲調李嚴所部援救江州。劉璋自知軍事指揮能力有限,嚴顏智勇雙全,為人忠義,命其統率江州眾軍。嚴顏怯戰,固守不出,城中軍心漸安。
諸葛亮見江州兵堅守不戰,命魏延、朱恆率五萬軍繞城赴成都,依計而行;命黃忠、文聘分頭埋伏,待魏延軍與之接戰,攻擊川兵後軍。
嚴顏見諸葛亮分軍繞城西下,急召眾將曰:「今孔明攻江州不下,分軍繞城西去,逕取成都。成都守軍盡在江州,此軍若去,雖有關隘阻攔,然而兵馬都少,又無防備,必不能阻擋,如此成都危也。現在西川危急之時,諸公怒力,往追其軍而勝之。」命法正率領五千士兵守城,自率雷銅、吳蘭、呂義、鄧賢等領兵五萬往西追去。
蜀道險峻,道路狹窄,魏延、朱恆引軍西行,行到道路狹窄之處,依諸葛亮之計,朱恆率本部軍兵分兩路,攀上兩邊山坡,多備滾石,等待川兵主力到來。魏延率本部軍於路上結陣。嚴顏引川軍趕到,與魏延所部接戰。山上朱恆待川軍擁擠之時,率領伏軍突起。道路狹窄,滾石巨大,川軍死傷眾多。嚴顏見勢不妙,率軍欲退回江州,又被黃忠統兵阻住歸路。川軍為幾路大軍合擊,自相踐踏,死傷無數,嚴顏亦為魏延所擒。吳蘭等將無路可逃,率所部兵馬投降。