此见安国无端残杀,也不禁怒气上冲,再加部众从旁激迫,忍无可忍,即日麾众出发,来击安国。安国方在浩亹,手下兵不过三千,突被羌人杀入,一时招架不住,拍马便奔。羌人乘势追击,夺去许多辎重兵械,安国也不遑顾及,只是逃命要紧,一口气跑至令居,闭城拒守,当即飞章入报,亟请援师。但知纵火,不能收火。
  宣帝闻信,默思朝中诸将,只有赵充国最识羌情,可惜他年逾七十,未便临敌,乃特使御史大夫丙吉,往问充国,何人可督兵西征?充国慨然答道:“欲征西羌,今日当无过老臣!”可谓老当益壮。丙吉返报宣帝,宣帝又遣人问道:“将军今日出征,应用多少人马?”充国道:“百闻不如一见,今臣尚在都中,无从遥决,臣愿驰至金城,熟窥虏势,然后报闻。但羌戎小夷,逆天背叛,不久必亡,陛下诚委任老臣,臣自有方略,尽可勿忧!”这数语传达宣帝,宣帝含笑应诺。充国即拜命起行,直抵金城,调集兵马万骑,指令渡河。又恐为虏骑所遮,待至夜半,先遣三营人马,衔枚潜渡,立定营寨,再由充国率师复渡。到了天明,已得全军过河,遥见虏骑数百,前来挑战。诸将请开营接仗,充国道:“我军远来疲倦,不可轻动,况虏骑并皆轻锐,明明是诱我出营。我闻击虏以殄灭为期,小利切不可贪,当图大功!”说罢,遂下令军中,毋得出击,违令者斩!军士奉令维谨,自然坚守勿出。充国即密遣侦骑,探得前面四望峡中,并无守虏,乃复静候天晚,潜师夜进。逾四望峡,径抵落都山,方命下寨,欣然语诸将道:“我料羌虏已无能为,若使先遣数千人马,守住四望峡中,我军宁能飞渡呢?”未几又拔寨西行,进至西部都尉府,作为行辕,安然住着。每日宴飨将士,但令静守,不准妄动。羌人连番搦战,始终不出一兵,直伺羌众退去,才遣轻骑追蹑,捕得生口数名,温颜慰问。听他答说,已知羌人互相埋怨,求战不得,各生贰心,乃即纵使归去,仍然按兵不发,坐待乖离。
  从前先零罕,本为仇敌,先零意欲叛汉,始遣人与罕讲和。罕酋长靡当儿,疑信参半,特使弟雕靡来见西部都尉,说是先零将反,都尉暂留雕靡,派人侦察,才阅数日,果得先零反状。又闻雕靡部下,亦有通同先零,与谋叛事,遂把雕靡拘住,不肯放归。充国将计就计,索性放出雕靡,当面抚慰道:“汝本无罪,我可放汝回去;但汝须传告各部,速与叛人断绝关系,免致灭亡。现今天子有诏,令汝羌人自诛叛党,诛一大豪,得赏钱四十万,诛一中豪,得赏钱十五万,诛一小豪,得赏钱二万,就是诛一壮丁,亦赏钱三千,诛一女子或老幼,每人赏千钱,且将所捕妻子财物,悉数给与。此机一失,后悔难追,汝宜谨记此诏,宣告毋违!”雕靡唯唯受命,欢跃而去。
  会有诏使到来,报称天子大发兵马,得六万人,出屯边疆,作为声援。又由酒泉太守辛武贤奏请,愿分兵出击罕。充国与诸将会议道:“武贤远道出征,劳师费饷,如何取胜?况先零叛汉,罕酖虽与通和,并未明言助逆,现宜暂舍罕,独对先零。先零一破,罕自不战可服了!”诸将也以为然,遂即送回诏使,上陈计议,宣帝得书,又令公卿集议,群臣俱谓须先破罕,然后先零势孤,容易荡平。宣帝乃命乐成侯许延寿为强弩将军,辛武贤为破羌将军,合讨罕。且责充国逗留勿进,饬令从速进兵,遥为援应。充国又上书极陈利害,略言先零为寇,罕未尝入犯,今释有罪,讨无辜,起一难,就两害,实为非计。且先零欲叛,故与罕结好,今若先击罕,先零必发兵往助,交坚党合,不易荡平,故臣以为必先平先零,始可收服罕。宣帝见了此奏,方才省悟,乃报从充国计议。
  充国因引兵至先零,先零已经懈弛,总道充国但守勿战,不意汉兵遽至,统皆骇走,充国虽率兵追逐,却是徐徐进行,并不急赶。部将请诸充国,愿从急进;充国道:“这是穷寇,不宜过迫,我若急进,彼无处逃生,必然拚死返斗,反致不妙。”诸将始无异言,及追至湟水岸旁,先零兵各自奔命,纷纷南渡。船少人多,半被挤溺,再加充国从后赶至,益觉心慌。越慌越慢,越慢越僵,好几百人,做了刀头鬼。还有马牛羊十万余头,车四千余辆,不能急渡,尽被汉兵夺来。惩创先零,已经够了。充国已经得胜,却不令兵士休息,反促令大众,驰入罕境内,只准耀武,不准侵掠。罕闻知,相率喜语道:“汉兵果不来击我了!”正堕老将计中。渠帅靡忘,守住罕边疆,遣人至充国军,愿听约束。充国飞书驰奏,道远未得复诏,那靡忘复自诣军前,来议和约。充国推诚相待,赐给酒食,嘱他还谕部落,毋结先零,自取灭亡。靡忘顿首谢罪,情愿遵嘱。充国便欲遣归,将佐等齐声谏阻,统说是未奉朝旨,不宜轻纵。充国道:“诸君但贪小利,不顾公忠,我且与诸君道来。”说到此句,诏书已至,准令靡忘悔罪投诚。充国不必再与将校絮谈,当即将靡忘放还,不到数日,便得罕酋长谢过书,全部效顺,充国喜如所望,移军再讨先零,适值秋风肃杀,充国冒寒得病,脚肿下痢。虽仍筹画军情,不得不报知宣帝。有诏令破羌将军辛武贤为副,约期冬季进兵。
  偏先零羌陆续来降