夏毅宗亲政后向宋称臣非常恭敬,宋夏之争的重点转移到对吐蕃诸部的经略上来。当初李继迁定下收取回鹘、吐蕃的策略,但由于宋廷较好的保护了吐蕃诸部而没有成功,现在诸部前代首领去世,分裂成更小的部落,西夏的机会又来了。神宗即位之初,进士王韶便进《平戎策》三篇,提出剿灭西夏的关键在于经略吐蕃,现在吐蕃诸部虽然名义上归附朝廷,但绝大多数仍处于部落政体,一方面实力不足以抵抗西夏,一方面忠诚度也难以保证,所以要逐渐取缔他们的部落政体,建成普通的州县。宋神宗和王安石采纳了王韶的建议,任其为管干秦凤经略司机宜文字(办公厅副主任),准备经略河湟的计划。王韶到任后首先采取招抚政策,当时青唐最大的部落是俞龙珂部,王韶仅带数骑到其帐中招抚,言明利害,仅数日,俞龙珂部12万人口全部归附。有了这个示范效应,很多部落首领主动交出世袭政权,纷纷归附。当然也有不愿成为国家公民,要继续当部落领主的人,招抚后第二步就是对不愿意归顺的部落领主进行军事打击。唃厮岩生有三子:瞎毡、磨角毡、董毡,他卒后董毡继位,前两位则获取了分封土地,吐蕃河湟部一分为三,这也是封建领主制政权的常见模式。
瞎毡的辖领在河州(今甘肃临夏),离西使城很近,瞎毡卒后其子木征认为难以自保,于治平三年(1066年)率青唐诸羌归附西夏。但西夏刚得到河州又丢了绥州,左厢监军嵬名山之弟嵬夷山暗中联系宋帝国知青涧城种谔,种谔点集大兵突击嵬名山的营帐将其擒获,嵬名山无奈只好献出绥州。夏毅宗得报后立即派出四万大军救援,种谔就用刚归附的部队背城列阵,大败夏军。延州东路巡检折继世与嵬名山合兵试攻银州,夏军又大败。绥州作为平夏部最初的五州之一,在西夏建国以后再次丢失。同年,夏毅宗崩,年仅21岁,长子李秉常继位,即为夏惠宗,年仅7岁,由其母梁太后摄政。梁太后任用其弟梁乙埋为国相,大肆提拔梁家子弟,掌控了西夏朝政。梁太后本身是汉族,但她执政后却反对汉化,熙宁二年(夏乾道二年,1069年),以夏惠宗名义向宋廷上表要求恢复蕃礼并获得批准。梁太后喜欢比自己小7岁的小弟,这种女人肯定是非常好战的,她时常与宋交兵,曾遭到宋廷的经济制裁仍不悔改,而且动不动就要集结三四十万大军出动,却又没有什么战略规划,每次都无功而返,还经常被董毡偷袭后方,给西夏的经济增长和百姓生活带来了灾难性的后果。
随后宋军发起反击,种谔一度进攻甚急,连续攻克银州周边堡垒,夏军毫无士气,不能支撑,梁太后被迫向辽帝国求援。辽道宗遣使赴宋廷斡旋,并承诺发兵30万助战,种谔才退回延州。正面战场暂息兵锋后,宋夏双方都加大对吐蕃的招抚力度。熙宁四年(1071年),王韶修复了古渭砦。古渭砦在今甘肃陇西,即唐朝的渭州,安史之乱后被唐朝丢失,现又被王韶收回。熙宁五年,王韶进攻不愿归顺的蒙罗角、抹耳水巴等部族,诸部在抹邦山(今甘肃狄道县东南)占据地利准备抵抗。王韶的参谋们都认为地势不利,不宜作战,王韶却说:“敌军如果占据险要不出,我们只能徒劳而回,现在已经入了险地,就要去攻取险要!”下令“敢言退者斩!”宋军登山逆战,蕃军居高临下,宋军略有不敌。这时文官王韶身披甲胄亲临一线,宋军士气大振,终于击溃蕃军。木征率兵渡洮河来援,王韶声东击西,留部将景思立、王存在抹邦山继续虚张声势,自己带兵突击武胜(今甘肃狄道),大破木征部首领瞎夔等,守将瞎药弃城夜遁,大首领曲撒四王阿珂出降。
宋廷在武胜设镇洮军,后又改为熙州。熙宁六年,宋军攻取河州,周边许多蕃部宣布叛宋独立,王韶回军镇压时木征又趁机占据河州。王韶没有立即进攻河州,而是破诃诺木藏城,穿露骨山,向洮州(今甘肃临潭)进军。木征忙分兵驻守河州,自率兵来援洮州,王韶在路上迎头痛击,趁势收复河州,继而分兵攻占熙、河附近的全部州县。宋廷在该地区设置了熙河路,与陕西的环庆、鄜延、秦凤、泾原合称为“沿边五路”,成为封锁西夏的主要战场。王韶带兵54日,转战1800里,攻取五州,斩首近万级,取缔部落无数,收服蕃部三十余万帐,因功进为左谏议大夫、端明殿学士,次年又入朝升为资政殿学士。王韶入京的间隙,木征又趁机出兵,宗哥部首领鬼章以言语诱河州团练使景思立出战。景思立非常轻敌,率6000兵出战,钤辖韩存宝、蕃将瞎药苦劝不听。景思立率军进抵河州西北踏白城陷入重围,激战后景思立勉强突出重围。景思立对自己的冲动非常后悔,本想自刭谢罪被部将制止,但他死意已决,又返身杀入敌阵最终阵亡,木征趁机率大军围攻河州。
景思立兵败后王韶急忙赶回熙州,当时宋军正聚集熙州坚守,王韶下令撤去城防,选兵二万余主动出击。初时参谋部商议出兵方向,诸将都认为应先解河州之围,但王韶说:“敌人敢来围城,必然依仗有外援,如果我们立即去救,他必设伏以待,而且他们现在士气正盛,不能硬拼。我们应该先去斩断他们的外援!”于是率军直扑定羌城(今甘肃广河)。宦官李宪派驻军中,向全军出示天子御赐黄旗道:“天子御赐此旗观战,如同陛下亲临!”宋军士气大振,大破守军结河族,断绝了西夏入援通道。木征见自己的妙计全然被王韶识破,大惊失色,只好退保踏白城。此时宋军士气已振,围攻踏白城,木征见势不可挡,率八十余部酋长请降。鬼章、冷鸡朴等酋长还集结大军继续顽抗,并一度将宋军陷入险境。关键时刻李宪采用了正确的战术:他深知贵族血统在部落中的地位,便让木征衣着盛装来到阵前招降。蕃兵仰望木征的容颜,斗志全无,官军趁势反击,阵斩冷鸡朴,杀获万余。此时董毡出面,青唐羌蕃诸部全部接受改制,成为正式的国家州县。
熙宁年间,宋廷在河湟地区以武力镇压不愿改制的部族,强行取缔了世袭部族领主,将河湟地区改造为正式州县,收复唐朝丢失的大片领土,保障了围剿西夏的一个重要战略方向,非常重要。而王韶和李宪这对文官和宦官的组合,在雪域高原立下战功无数,拓地两千余里,他们也因此被列入名将的行列。就在此时,中南半岛上的交趾国李氏王朝在改用汉制以后也强大起来。当时宋帝国的主要兵力都集中在陕西,对南方毫无防备,而广西本身还很不发达,人口很少,驻扎的厢军和蕃军也很少。熙宁八年(交趾国李朝仁宗太宁四年,1075年)底,交趾国太尉李常杰率八万大军入寇,初时宋廷没有重视,但交趾军分三路连续攻破钦州(今广西灵山)、廉州(今广西合浦),进围邕州(今广西南宁)。知邕州苏缄尽发厢军,也只有2800人。广西军虽然人少,但是动用了一些先进武器,尤其是使用了号称“冷兵器之王”的神臂弓。这是最经典的一种弓弩,有效射程可达四五百米。广西军利用神臂弓、火箭等武器守城,杀死交趾军自以为很无敌的战象十余头,并据城坚守。
李常杰带兵强攻,被杀一万五千余兵。这下交趾问题才引起宋廷的重视,经廷议,命宣徽南院使、雄武军留后郭逵为安南道行营马步军都总管,龙神卫四厢都指挥使、忠州刺史燕达副之,天章阁待制赵焑为随军转运使,率十万陕西军救援广西,并联系交趾南方的占城、真腊二属国夹击。郭逵是三川口战役中壮烈殉国的郭遵之弟,曾任陕西宣抚使,数败夏军,也是当世名将。然而援军未及到达,熙宁九年正月二十三日,交趾军攻陷邕州,苏缄战殁,邕州居民被大肆屠戮达十万人。交趾军初时和广西厢军作战肯定认为自己很强悍,遇到陕西军才知道宋军的厉害,几下就被打回本土。宋廷为示惩戒,命郭逵直取其国都。郭逵入其国境后攻克广源州(今越南广渊),又势如破竹直逼交趾国都升龙城(今越南河内)。交趾军在富良江集结四百余艘战舰,当时宋帝国海军主力已从广州出发,交趾军认为海军到前郭逵不会贸然发起进攻。郭逵便利用他们的轻敌心理,减兵诱敌,假装撤退。李常杰果然中计,率兵渡江掩袭,宋军伏兵尽出,大败交趾军。
宋军趁势用重炮攻击富良江中的交趾军舰,步兵乘大筏渡江,将交趾军主力全歼,阵斩李朝太子李洪真。李仁宗(李乾德)上表请降,撤去帝号,降封为交趾郡王。宋帝国终于比较圆满地解决掉了吐蕃和交趾的问题,可以考虑集中力量,对西夏进行毁灭性一击了。管理科学与工程专业的同学都知道,宋代的丁谓被视为本专业的鼻祖。宋神宗在丁谓之后的时代,系统工程的思想已经初步运用,尤其是范仲淹、沈括等人治理陕西军的时候,将很多管理科学运用到军队建设中来,宋军的远征和后勤保障能力有了质的飞跃,很多人认为用一次超大规模远征,彻底荡平西夏已经初具条件。熙宁十年(夏大安三年,1077年),名义上已经亲政的夏惠宗尝试改蕃礼为汉礼,但遭到母党反对没有成功,成为和梁氏家族翻脸的导火索。元丰四年(夏大安七年,1081年),夏惠宗图谋向宋廷献出黄河之南的土地,以争取宋帝国的支持,恢复汉礼。但在他即将上表时被梁太后得知,将其幽禁起来。鄜延路马步军副都总管种谔则得到消息说是夏惠宗已经被杀,于是点集兵马并奏请趁机伐夏。
之前以兰州降夏的禹藏花麻素来与梁氏不合,现在觉得自身地位难保,于是暗中联系知熙州苗授,声称西夏母子不合,人情汹汹,请朝廷立即发兵来剿。宋廷特召种谔入朝详细解释。种谔对宋神宗说:“秉常(夏惠宗名)那个小孩儿,我去牵着他的手臂来见你。”神宗的壮志也被他调动,于是决定大举伐夏。此事提交廷议时还是遇到不小的阻力,知枢密院事孙固很不愿意大举出兵,表示“举兵易,解祸难”。但不少宰执却同意出兵,最后宋廷决议大举伐夏。出兵前,原泾原路副总管韩存宝带兵征讨四川泸州地区的酋长乞弟反抗,由于韩存宝逗挠不前导致进展很慢,朝廷将其处斩,另派环庆路副总管林广抽调精兵征讨。为弥补林广带走的兵力,朝廷在京师重新征发了12个将的新兵补充到陕西军中。以元丰兵制,一将大概8000~10000战兵,介于现在美军的军和师之间。
宋神宗亲自主持总参会议制定方案,方案议定由熙河路经制使李宪率熙河、秦凤军约十万,进攻兰州,西平节度使董毡派大将洛施军笃乔阿公率蕃兵3万随同此路;环庆路都总管高遵裕率兵87000,会同蕃兵出庆州;泾原路副都总管刘昌祚率兵5万出原州,隶属于高遵裕,两路会攻灵州;签书泾原路经略司事王中正率河东路军6万出麟州,并密诏注意防御辽帝国援军,内地增派的12将新兵大多随同此路;至于最初提议伐夏的种谔,率鄜延军93000出绥德军,进攻米脂,夺取银、夏,隶属于王中正,麟府折家军和一些蕃部数万兵马也附在此路;鄜延经略使沈括坐镇延州,为各路军提供总调度。
枢密院下发《五路对境图》,按计划,各路军最终目的都是要会攻灵州,届时由号称代替神宗出征的宦官王中正统一指挥。只要攻克兴庆府的外围堡垒灵州,实际上也就攻克了西夏国都,西夏帝国就将灭亡,史称“元丰五路伐夏”。夏帝国也进行了全国总动员,梁太后任命梁永能为大元帅,总领全军。梁永能定下的策略是兵分三股,一股正面抵挡,一股设伏,一股趁宋军出击、袭扰内地,调集了大量物资,派兵扼守各处险要,准备与入境的宋军顽抗到底。元丰五路伐夏,宋帝国共调度作战部队四十万左右,由于地势艰难,又有民兵和后勤部队数十甚至上百万,总兵力必然在百万以上,堪称人类冷兵器时代最大规模的军事作业。这在汉唐时代是不可能发生的事情,整个中国,甚至在人类的冷兵器历史上,只有宋夏帝国之间的这一次倾国大战才可能达到这样的规模。