卻張繡殺入葭萌關,槍擲霍峻,又打開城門,迎馬超入關。因此被漢中軍奪了葭萌關。馬超令其堂弟馬岱安撫關中百姓。次日,賈詡見馬超曰:“葭萌西南不遠,即是白水關。我昨日聞此地百姓言,白水關雖山勢稍緩,卻是三麵環山,猶如甕口,如若進兵,三麵皆受敵,極難攻取。將軍若取此關,需以奇兵襲之。”馬超問曰:“奇兵安出?”賈詡曰:“可趁此時,暗調一路兵馬,化作敗軍,混入關去。裏應外合,方能輕易奪得此關。若得此關,劍閣、江油等地,皆可得也。”馬超曰:“何人可當此大任。”賈詡曰:“二將軍或三將軍皆可。隻是三將軍張繡攻葭萌時殺入重圍,左臂帶傷,需靜養;二將軍閻行往漢中置辦軍糧未至!”馬超曰:“如此隻有本將親往取此關!”賈詡曰:“將軍為主帥,不能冒險也。”馬超曰:“量一白水關,奈何不了本將。”
馬超遂點了一百精壯武士身著蜀軍衣甲,混入葭萌關敗兵中,奔白水去。又令馬岱帶一軍,緊隨其後。二人約定,關中但有動靜,便可殺入關中。馬超等至關下,白水守關將士見是自家兵馬,忙開了關門,放其入內。馬超既入關,立殺城門將士。一百軍士迅速控製關卡。馬超令於關上搖旗。遠處馬岱見了,將大軍催動,殺向關來。白水關輕易被馬超軍奪了。賈詡帶其餘諸將作第三隊,亦投白水關來。馬超進關,安撫關上百姓。次日,馬超升帳,商討進軍。馬超問曰:“白水以內,有何城池攔路?”馬岱曰:“白水關南,有一廣元城。廣元太守孫惠,乃是蜀郡人士。因與劉璋之父劉焉是舊交,官封太守。弟以為此城易破。”馬超大喜,即令馬岱帶軍,去取廣元。馬岱得令,領一軍往廣元去。廣元城中,孫惠聞得漢中兵至,料不能敵,遂開了城門,迎馬岱進城。馬岱馳書與馬超,言已得廣元。
馬超升帳,商議進取。賈詡曰:“白水之南,既是劍閣。劍閣險,不在白水之下。又總涉漢中咽喉,需先得此處,打通與巴西交通。”馬超問曰:“軍師有何計能速破劍閣?”賈詡曰:“連日大戰數場,劉璋定早有線報。劍閣必已加強戒備。若是如此,隻能以力破之。”馬超曰:“可知,劍閣守將是何人?”廣元太守孫惠曰:“劍閣自古是蜀中第一道雄關,劉璋父子極為重視。守將乃是劉璋心腹吳懿也。”馬超曰:“吳懿此人武藝如何?”孫惠曰:“吳懿官居要職,武藝頗有造詣。蜀中諸將中,少有比擬。旦有此人在,將軍當慎重行事。”賈詡聞言,鼓掌大笑,曰:“某視關東二十路諸侯為無物,豈會懼他吳懿。來日主公可驅兵攻打,某再見機行事。”馬超納賈詡之言,傳令各營,來日強攻劍閣。
次日,馬超軍整裝出城。於劍閣之外擺開陣勢。遙望劍閣雄關,氣勢磅礴。劍閣守將吳懿登城,劍指漢中軍曰:“何處兵馬,不得靠近。”馬超並不答話,玄鐵槍望關上一指。馬岱、程銀、張先三將得了將令,各帶一路步兵扣關攻打。一時間,關上箭矢如飛。漢中軍寸步難進,傷亡數量直線上升。馬超急令大盾兵開路,又增加衝車,轟擊城門。吳懿百般設計守城。自辰時戰至申時,雙方死傷無數。馬超一咬牙,又增派馬玩、梁興兩路兵馬攻城。忽見劍閣之上,旌旗遍布,繡旗招展,一路兵馬至。馬超自思:此必是成都增援兵馬,今日強攻已難取勝。遂傳令退兵。
卻問劍閣之上增援兵馬是何人兵馬?原是日前馬超攻葭萌關時,早有消息報入於成都劉璋處。劉璋恐前方有失,令虎賁大將張任率一萬精兵前往禦敵。熟料葭萌關早被馬超攻破。張任大軍恰在馬超強攻劍閣關卡時抵達。當日色將晚,馬超見劍閣強攻不下,關上又添援軍,乃下令退軍。馬岱、程銀、張先等部先行,馬超親自斷後。卻聽劍閣之內一聲炮響。眾軍回頭視之,隻見劍閣城門大開,一將束發金冠,挺槍帶軍殺出。馬超嗤之以鼻,謂左右將校曰:“世上果有不知死活之人,本將必教其如何做人!”言罷挺槍縱馬殺出。兩馬相交,猶如兩隻雄獅競食,卻發出驚動地的吼聲。馬超與之大戰十餘回合,竟不能取勝。隻見其槍法淩厲,毫無破綻,顯是名家之傳。又見蜀軍如潮水般湧來,忙賣了個破綻,兜馬敗走。那將追趕一陣,收軍回劍閣去。