話說張任大軍,迤邐望漢中進發。前軍先鋒劉璝,要立頭功,先領兵至沔陽縣。劉璝謂部將曰:“過此關即漢中矣。關上不多人馬,吾等便可奮力搶關。”眾將領命,一齊並力向前。原來沔陽主將廖化,早知秦兵將到,先於城外木橋左右,伏下軍士,裝起十矢連弩;比及劉璝兵來搶城時,一聲梆子響處,矢石如雨。劉璝急退時,早射倒數十騎。秦兵大敗。劉璝回報張任。任自提帳下甲士百餘騎來看,果然箭弩一齊射下。任撥馬便回,城中董充引五千軍殺下來。張任恐有埋伏,未敢再戰,敗退而走。
轉日,董充引大軍取白水關,守關部將泠苞、鄧賢商議戰守之策,苞曰:“趙兵甚眾,勢不可當,不如堅守為上。”賢曰:“不然。趙兵遠來,必然疲困,雖多不足懼。吾等若不下關戰時,梓潼、蜀郡二城休矣。”泠苞默然不答。忽報趙兵大隊已至關前,冷、鄧二人至關上視之。董充揚鞭大叫曰:“吾今統十萬之眾到此,如早早出降,各依品級升用;如執迷不降,打破關隘,玉石俱焚!”泠苞大怒,令鄧賢把關,自引三千兵殺下關來。董充便走,趙兵盡退。苞乘勢追之,趙兵複合。苞欲退入關時,關上已豎起趙家旗號,隻見鄧賢叫曰:“吾已降趙也!”苞大怒,厲聲罵曰:“忘恩背義之徒,有何麵目見天下人乎!”撥回馬複與趙兵接戰。趙兵四麵合來,將泠苞圍在垓心。苞左衝右突,往來死戰,不能得脫;所領殘兵,十傷八九。泠苞力戰,殺出一血路,奪小道逃往廣漢。
葭月初,董充所部會武都太守班嶽軍八萬,取陰平,孟獲妻弟、太守帶來洞主兵敗獻降。充轉戰剛氐道,兵分三路取汶江道、德陽、葭萌關,直逼梓潼。汶江道守將奚尼兵敗歸順,德陽太守土安不戰而逃,葭萌關守將金環三節開關獻降。董充一路南下,太史珪所部哨馬先到梓潼城外,正遇孟將楊鋒。太史珪與楊鋒交戰,不十合,楊鋒敗走。太史珪乘勢趕上,前麵一軍擺開,為首乃是鄂煥。太史珪舞刀躍馬迎之,二人戰不十合,煥敗走。太史珪趕去,被鄂煥回身一箭,中太史珪左臂。珪急回馬走。鄂煥催馬追趕,隻見一將喊聲如雷,飛奔至麵前,原來是趙帥董充。董充救下太史珪,便與鄂煥廝殺。鄂煥挺方天畫戟,直取董充。戰不十合,鄂煥敗走,欲待追趕,一騎馬到來,叫:“兄弟且休去!”充回視之,乃漢中太守馮馥。馥謂董充曰:“殿下恐君有失,故特教吾相助。現天色已晚,且歇一宵,來日再戰。”
次日天明,城下鼓聲大震,李瑀兵到。張任上關觀望,但見趙軍軍紀嚴明,列陣整齊。張任歎曰:“人言趙軍軍整,名不虛傳!”副將楊鋒便要下關,張任急止之曰:“且休出戰。先當避其銳氣。”然楊鋒不聽調派,硬闖出城,單騎來在陣前。李瑀問左右曰:“誰願出戰?”董充曰:“末將願往!”馮馥止曰:“割雞焉用牛刀?不勞公集親往。”遂,馮馥拍馬提戟上前應戰。楊鋒陣前嗬曰:“來將通名!”對曰:“吾乃青州馮公彥,可來交戰?”鋒笑曰:“無名鼠輩還不送死!”言罷催馬來戰,二人戰不數合,那楊鋒便敗下陣來。那馮馥見楊鋒弱敗欲逃走,虛晃一槍,楊鋒不及抵擋,落身下馬。趙軍兵士速圍湧上來,將楊鋒俘獲。張任於城上大驚,忙率部殺出。馮馥不緊不慢,應聲來戰。二戰錯馬交槍有數合,未分勝負。那張任見將不敵馮馥,舉槍來刺,馥躲閃之,任趁勢逃入城中。馮馥亦不追趕,收兵回營。
那馮馥回營,李瑀會董充、太史珪等商議決策。言間,兵士押解楊鋒來見,李瑀上前解縛,鋒叩曰:“末將不敵殿下,今趙將家天下而萬民順,某願歸降,望賜收錄。”瑀曰:“將軍有如此見識,實乃幸甚。”問之曰:“張任乃大將之才,吾欲得之,何也?”樊稠進曰:“張任雖為川中勇將,然其所部並非南王之精銳,明公不必擔心也。”法正進曰:“那張任雖為孟獲部將,然實為前日玄德公敗於孟獲而降之,非其心腹,某願前往勸降之。”李瑀大喜,即時遣行。
卻說法正從數騎行至城下,先使人通姓後。張任曰:“吾知法正善辯,今必來說吾。”先喚二十刀斧手伏於帳下,囑曰:“令汝砍,即砍為肉醬!”須臾,法正昂然而入。張任端坐帳中不動,叱法正曰:“汝來為何?”正曰:“特來作說客。”任曰:“吾匣中寶劍新磨。汝試言之,其言不通,便請試劍!”正笑曰:“將軍之禍不遠矣!但恐新磨之劍,不能試吾之頭,將欲自試也!”任曰:“吾有何禍?”正曰:“吾聞越之西子,善毀者不能閉其美;齊之無鹽,善美者不能掩其醜;日中則昃,月滿則虧:此天下之常理也。孟獲以夷之眾與汝,令汝守關,久亦不遣兵來援,此明是謂汝不足,如此之人豈可以輔之?”張任頓首謝曰:“公言極善,但榮無路可行。”正曰:“公既聽吾言,帳下何故伏刀斧手?”任大慚,盡叱退。正曰:“今天下之勢,亦已明矣,將軍宜知之。吾亦不必說,請將軍試思。”張任思許久,曰:“聽汝之言,吾意已決矣,與君共往。”法正大喜,遂喚一從往李瑀營寨通報。次日天明,張任與法正出城來降,李瑀即入梓潼城。