磨氈角的兒子瞎撤欺丁,因為太孤弱,而不能守住自己的地盤,于是又歸屬到了董氈的麾下。瞎氈有兩個兒子,老大的叫瞎征,老二叫瞎吳叱。瞎征居在河州,瞎吳叱居在銀川。瞎征恐怕董氈去討伐他,曾經請求朝廷讓他內附。這才因為宋軍入境,同族請求援助,他才率眾反抗王韶。
瞎征被王韶擊敗後,退守鞏令城。他派遣麾下的瞎藥,去助守武勝。哪知王韶軍隊已長驅搗入,瞎藥抵擋不住,只好棄城逃走。武勝被王韶佔有,因此擇要築城,建鎮洮軍,一面上章報捷。朝廷于是設置了熙河路,提升鎮洮軍為熙州,並任命王韶經略安撫使,兼知熙州事及通遠軍;並兼領河、洮、岷三州。
當時三州實際上還沒有全部收復,因此王韶派遣智圓和尚,暗中去往河州,用重金誘降。他自己率領輕裝騎兵尾隨。這時剛好瞎藥敗回河州,與智圓會晤商談。瞎藥得了很多金銀後,當即表示願意歸順。等王韶大軍一到,瞎藥便帶著王韶軍隊進入了河州,殺死了老弱數千名,連瞎征的妻兒,都被擒住。瞎征這時在外地還沒有回來,巢穴已被王韶佔領。
王韶接著麾師攻下訶諾木藏城,穿越露骨山,向南進入洮州境內。洮州境內道路崎嶇狹窄,部隊只好棄馬徒步而行。瞎征趁機奪回河州,令部下留守河州,親自帶兵尾隨官軍。王韶得知,急回軍迎敵。經過一番激戰,他打敗了瞎征,收復河州。
接著王韶又攻下宕、岷二州,疊、洮二州的羌人首領于是開城投降。宋軍轉戰五十四日,跋涉一千八百多里,共攻取五州,殺敵數千,繳獲牛、羊、馬數以萬計。捷報上達朝廷,趙頊大喜,親臨紫宸殿,接受百官的祝賀。解佩帶賜王安石,加升王韶為左諫議大夫,兼端明殿學士。王韶于是留下部將分別鎮守各州,自己率軍回朝。
王韶在回京途中,抵達興平時,听說景思立敗于踏白城,羌軍包圍了河州。原來瞎征雖然已經被打敗而竄逃,但是他還是不死心。他雖已被王韶打得一再敗竄,但仍不甘心失敗,希望卷土重來。他知道只憑自己的力量,勢孤力單,難與宋軍抗衡。于是,瞎征便向他的叔叔董氈發出了求援。
董氈與瞎征叔佷之間雖然一直有矛盾,可是現如今宋軍打上門來了,如果再不拋開私怨齊心對外,只會被宋軍各個擊破。董氈權衡利弊,覺得要是讓宋朝攻佔了熙河全境,那麼湟水流域的東方門戶就幾乎完全洞開了!于是,董氈派出他的得力干將青宜結鬼章,出兵河州往援木征。
在木征還未與董氈聯合的時候,王韶離開河州前往京城了。瞎征見王韶不在,便想急不可耐地立馬遣兵奪回河州。但鬼章比較老練,他認為吐蕃兵擅長野戰、山地作戰,不善于攻城,但宋軍卻精于守城。他制定了引宋軍出城,再設伏殲之的策略。此時,河州守將是景思立。景思立是景思忠弟弟,普州安岳人。他曾跟隨韓絳、王韶出征,累立戰功,被
任命為四方館使、河州團練使。
為了實現自己的目標,鬼章將作戰的地點選在了河州城百里之外的踏白城。踏白城是河湟進入河州的重要入口,攻打踏白城可以達到「攻其所必救」的效果。同時踏白城周圍群山連綿,便于隱藏伏兵,這樣戰爭的主動權就會操在吐蕃軍的一方,而不是宋軍一方。
為了達到調虎離山的目的,鬼章針對河州守將景思立自尊心強的性格弱點,首先他偷襲宋軍在河州地區的伐木士卒,並殺害宋軍的小校七人,以激怒宋軍。接著,他派人送了一封出語不遜的辱罵信給景思立,信中極盡詆毀辱罵,說景思立無能。還說王韶是英雄,景思立是一只狗熊,王韶一走,你連城門都不敢出,激怒其失去理智。然後,他又讓宋軍的昔日敗將瞎征引誘景思立到踏白城。
景思立沒有識破鬼章的激將法,又因為在攻取河州的進展中,一直非常順利而產生輕敵的思想。于是景思立一怒之下,不管部將如何勸阻,率漢、蕃六千人,出城與瞎征一較高低。
雖然景思立被激將法激怒,但他還不至于糊涂到想用六千兵馬對抗鬼章的兩萬人,之所以他毫不遲疑的出城,在于他沒有考慮到青宜結鬼章的行軍速度之快。在他的想法里,鬼章的軍隊應該還處于前來支援的路上,他只需要在敵人援軍到達之前解決掉有勇無謀的瞎征就可以,然後回城堅守。
但是沒多久,瞎征就顯露敗象,往河州西北的踏白城逃走。景思立不願意放過這個一舉滅掉瞎征的機會,趁勢追擊,要一舉蕩平瞎征。
然而,瞎征其實是佯敗,鬼章早已在踏白城周邊布置好兩萬多人的伏兵,就等宋軍鑽入圈套。當景思立一路追擊木征至踏白城的時候,馬上陷入了鬼章與木征在此設伏的兩萬吐蕃士兵的重圍中。
面對數萬吐蕃軍的圍攻,景思立自領中軍,命部將韓存寶、魏奇為先鋒,王寧策應,王存為左翼,賈翊為右翼,李楶殿後,趙亶策應,迎戰吐蕃兵。雙方激戰十余回合後,鬼章遣偏軍繞至宋軍後方,擊其不備發起攻擊。
景思立早就防著鬼章會偷襲後方,因此命李楶殿後防衛。可惜景思立有戰術之能,卻沒有識人的能力。李楶是一個膽小如鼠的人,他不敢與吐蕃軍進行戰斗,只顧著自身逃跑。李楶在關鍵時刻畏敵避戰,致使景思立的後方空虛,被鬼章輕易攻破。如此一來,鬼章順利地將景思立各部孤立包圍起來,並發起了猛攻。
宋軍大將王寧首先戰死,陷入鬼章重圍之中的景思立,在經過一番激戰之後,勉強突出重圍。但部隊已傷亡過半,景思立也身中三箭,韓存寶、魏奇等將領也身負重傷。景思立因為魏奇受傷過重,便獨棄其軍先行。
且戰且退的景思立變得勇猛異常,他大發神威,多次打退吐蕃的進攻,在一次關鍵反擊的時候,李楶又逃跑了。這次不光他自己偷偷跑,還煽動了其他軍
士,跟著他一起逃跑,剛剛恢復戰斗意志的宋軍,瞬間成兵潰之勢。青宜結鬼章當然不會放過這個機會,這是除去景思立的最佳時機,他再次整頓兵馬,尾隨著宋軍前行。
景思立且斗且退,中間也一度打退了追兵,但已無法挽回頹敗之勢!景思立對部將感慨道︰「我剛才以百騎退走吐蕃兵數千人,但我軍中卻無人能趁機與我配合相助,現在我軍敗勢再無法扭轉,我當自刎以謝朝廷!」說完後,便要自刎,被部將們制止。
但景思立死意已決,又返身殺入敵陣,掩護剩余的殘兵撤返,最後陣亡殉國。與景思立一起殉國的還有大將趙元凱,韓存寶、李資、景思誼等因為景思立吸引住了鬼章軍而僥幸逃月兌。韓存寶帶兩名親兵追趕王韶報信,到了熙州,韓存寶因箭傷發作,只得留下養傷。兩親兵追到興平,終于追上了王韶。瞎征听說景思立戰死,又收羅了數千吐蕃兵圍了河州城,隨即氓州也被吐蕃兵圍困。
瞎征氣勢再度漲大,又進攻岷州。刺史高遵裕令包順往出擊,總算打退了瞎征。瞎征于是回軍,包圍了河州。王韶得報,急忙與按視鄜延軍官李憲日夜奔馳,直達熙州,選得二萬精兵,令他們進攻定羌城。
諸將稟道︰「河州被圍,非常危險,理應去救援,為什麼不直接趕去河州,反而去定羌城?」王韶慨然道︰「你等怎知到行軍打仗的謀慮?瞎征既然敢圍困河州,無非是自恃有外援。我先去攻打他所依恃的援兵,河州自然解圍。」
王韶于是引兵來到定羌城,先破了西蕃,又連結河川各族。接著他截斷了夏國的通路,率軍進駐寧河,再分命偏將進入南山,截斷了瞎征的退路。瞎征得知,只得從河州解圍,退保踏白城。此時,王韶軍老的軍隊已經繞出城後,出其不意,突然攻入羌營,焚燒了營帳八十多個,斬首七千余人。瞎征見無路可歸,沒奈何,只得帶領酋長八十余人,到王韶軍帳前,乞求投降。王韶立即派遣李憲押送瞎征,返回京師。
當初景思立兵敗身亡的時候,羌人之氣焰又高漲起來。朝廷有的大臣建議放棄熙河,趙頊也為之寢食不安,多次詔令王韶要穩住,不要輕易出戰。至此羌人大敗,趙頊欣喜萬分。論功行賞,趙頊拜王韶為觀文殿學士、禮部侍郎,從而開非執政者被授予學士職之例。趙頊又特授給王韶的兄弟及兩個兒子官職,前後共賜給他八千匹絹。不久後,趙頊再次召他入京,拜為樞密副使。
王韶用兵的時候,在戰前,他一一安排妥當。開戰後,他倒頭大睡。無論外面的喊殺聲,如何翻江倒海,侍從小兵嚇得手腳顫抖,他照舊鼾聲如雷。
他這種泰山崩于前形色不變的大將氣度,極大地穩定了軍心,鼓舞了士氣。
宋軍在他的率領下,百戰百勝,斗志昂揚。戰場上捷報頻傳,把趙頊高興得不了。趙頊在京城專門蓋了一棟大宅子,賞賜給了王韶。