西夏在經過兩次平夏城之戰後,國力一落千丈,而宋朝在收復河湟地區之後,以河湟威脅西夏的河西走廊,以鄜延軍據橫山東北部,佔據有橫山最高點,涇原軍佔據天都山直逼西夏國都興慶府,可以說西夏賴以立國的地理屏障大部分控制在宋朝的手中,形勢對宋朝一片大好。
童貫出於控制西軍的需要和獲取更大的功勳,而蔡京則想獲取政績、鞏固地位,撈取錢財,兩個人勾搭在一起,籌劃著如何對夏開戰。而此時,西夏國內,梁太后集團覆滅,夏崇宗對宋朝很恭敬,找不到很好的開戰理由。沒有藉口那就創造藉口,宋朝廷釋出命令,誰招降了一個夏人就相當於陣前斬首一級,邊疆的守軍拿著大筆的銀子、官職招降西夏人,這招很有效,一時間大批西夏軍人叛逃。當然也惹怒了西夏朝廷,西夏軍人展開報復,西夏人勾結原巴金嶺城主多羅巴,反攻鄯州,熙河軍倉促應戰,被擊敗,西征前軍大將高永年戰死。訊息傳到東京,宋徽宗大怒,準備集結軍隊征討西夏。
西夏人眼見局勢失控了,他們馬上向遼國求援,夏崇宗向遼國皇室求婚,耶律延禧把妹妹安成公主嫁給了他。有了這層關係,遼國向宋朝施壓,宋朝看在遼國的面子上只好另找它法。
童貫
這次出擊的兵力達到二十萬,由熙河路經略使劉法率領熙河軍團步騎十五萬人出湟州,秦鳳路經略使劉仲武率五萬精兵出會州,從西、南兩方向夾擊西夏。趙佶下令,童貫總領永興、鄜延、環慶、涇原、秦鳳、熙河等西北諸路,節制所有經略安撫使,駐軍蘭州,兩方策應。劉仲武部行至清水河,築城屯守。劉法部與西夏右廂軍戰於古骨龍,大敗夏軍,斬首3000級。夏軍向宋、夏邊境集結,雙方形成對峙局面。
宋宣和元年(公元1119年),童貫以种師道為正、劉仲武為副,率領鄜延、環慶等軍出蕭關,取永和寨、割沓城、鳴沙會,兵鋒直指靈州。西夏人大敗,紛紛撤出橫山北麓,宋軍乘勝出擊,搶關奪隘,最終成功拿下全部橫山地區,使西夏徹底喪失了橫山屏障,廣袤的東南地區完全暴露在宋軍面前。
橫山之戰,北宋雖然沒有對西夏的有生力量造成毀滅性打擊,但全取橫山之後,宋朝佔據了戰略主動權。而西夏失去了橫山屏障後,面臨滅國之憂,不得以,只好上表稱臣。這是北宋對外取得最後一次勝仗,此時的北宋也是日薄西山了,帝國的生命即將進入倒計時(靖康之變1127年)。北宋滅亡後,西夏依靠金國,重新坐大,直到被蒙元所滅。