环庆路则取得白马川往灵州的据点,筑起兴平城,作为攻击西夏韦州监军司的踏脚石。同时,孙路下令在山峦高地筑起横山城。工事完成后,党项部落渐次投降。
泾原路在平夏城近郊筑起四座城,全面控制石门城和葫芦河西岸。接着,章楶在那里驻扎第十一将,保护这个关出部。他又推荐其手下、能干的将领郭成担任那里的指挥官。其后,章楶下令部队推进六十里,在没烟峡的进出口筑起两座堡寨,堵塞西夏从天都山入侵的路线。
为了解决安全问题,章楶编成第十二将,提拔爱将折可适为将官。为避免在不利的条件下与宋军决战,西夏人陆续将军队及部落迁移往内陆。
在熙河路前线,钟传保持积极的姿态,加强兰州及其近郊的防线,从西南逐渐逼近天都山。公元1097年夏,钟传在青石峡筑城。这一条要道掩护着熙河路的补给线,并迳抵西夏剡子山监军司。公元1098年初,钟传进一步完成会宁关的工事,宋境亦得以向东扩展,穿越天都山,连接平夏城。
和永乐城之战一样,西夏军把反击矛头对准最要害的平夏城。1098年夏,枢密院收到环庆路关于党项人大举动员的报吿。
西夏进行第二次平夏城之役,是一场组织完善的战役。一如以往,他们在战争中表现出灵活性和高度智慧。梁太后挟着小皇帝李乾顺亲自指挥这次战役,声称动员超过百万大军,向没烟峡推进。
战前,梁太后及众将一起标绘平夏城的位置。梁太后认为只要攻占平夏城,宋廷其余堡寨的抵抗就会相继瓦解。为达成这个战略目标,六路统军嵬名阿埋负责包围平夏城,西寿监军司妹勒都逋则率领拦截部队对付宋朝援军。在嵬名阿埋的指挥下,西夏军队同时包围六座新近建成的宋军堡寨,四座在平夏城附近,其余两座在没烟峡,日夜努力不懈地攻击平夏城。在十三天的包围中,西夏运用了不同战术,包括挖地道、冲绷和楼车。
然而,宋朝的弹性防御战略足以抵销党项的攻击。SX前沿守军的左右翼即时回应。河东路深入西夏反击,熙河路副经略使王愍则攻击卓罗监军司和右厢监军司,共杀死一千三百名士兵,俘获二万四千头牛只。他亦焚烧方圆七百里以内的农舍和仓库。在获悉平夏城之围以前,枢密院已命令环庆路派兵一万,内含三千骑,开往泾原路,作为战略预备队,由种谔之子、将官种朴率领。同时,秦凤路也派遣了数量与之相当的军队。确定党项的目标是平夏城后,开封催促环庆和秦凤两路给予更多支援。一支由副都部署王恩统领的诸路联军在泾原路登场,向平夏城进发。由于双方都全面动员,一场决定性战役已无可避免。
宋军前沿的第十一和十二将只得二万人,在郭成和折可适的率领下顽强抵抗。他们在城墙上用神臂弓射击,在夜间采取扰敌战术。
郭成和城内第十一将的四至五千名士兵,造成西夏军大量伤亡。一夜大风将西夏军的楼车遭到尽数摧毁,加上军队的口粮已消耗殆尽,看到军队陷于恐慌和无秩序的状态,梁太后痛哭不已,全军在子夜时份撤退。正当西夏军士气下降之际,姚雄和姚古展开反击,派一支伏兵重创敌军。
西夏军撤退不久,章楶下令第十一和十二将以骑兵展开快速反击,并增援郭成和折可适骑兵一万。他们将部队分成六个纵队,渗入天都山。受到之前章楶四度越境所欺骗,西夏六路统军嵬名阿埋、西寿监军司妹勒都逋并未预想到宋军骑兵竟然深入攻击。种师道率部与西夏军激战,俘虏敌军三千余人,牛、羊十万多只。同时,宋军蕃将李忠杰也组织骑兵渗入剡子山,袭击卓罗监军司的大本营,仅西夏统军仁多保忠脱险。对于这次辉煌胜利,哲宗心满意足,接受百官祝贺。
宋朝的军事胜利带来造成了国际影响,使得辽国也做不住了。辽朝使者抵达东京开封,促请即时停战。随着形势转变,辽朝干预宋夏战争的潜在动机表面化起来,宋朝灭掉西夏并不符合辽朝的战略利益。进行正式调停之前,辽使透露这次斡旋乃是监于西夏的危急情况,要求和解。
调停的同时,契丹人还做了两件事。第一,派使者毒死了被视为好战成癖的战争发动者梁太后。结果,李乾顺恢复亲政,主导和平谈判。第二,辽朝皇帝借巡狩为名,大军开进到距雁门关以北只有五至七里。辽朝之所以要出面调停,一是不愿坐视宋朝强大。辽朝催促宋朝放弃并归还所有占领的土地、堡寨和州军予西夏,休退兵马,还复疆土;二是要向西夏展示实力,以令西夏真心实意地归附。
针对这样的形势,开封存在两派意见。宰相章惇建议不用理会契丹的调停,无论是战争或者和平,应由宋朝决定。枢密使曾布和鄜延路经略使吕惠卿则认为,宋朝应着眼于从西夏身上得到实际利益,不应进一步破坏宋辽关系。开始的时候,章惇的建议较具影响力。经过哲宗与章惇、曾布及其余高级官员的广泛讨论,朝廷修正立场。宋逼西夏澄清辽夏关系有别于宋夏关系,坚持宋是西夏的宗主国。同时向辽朝传达国书,言明辽和西夏是父与子婿的关系,宋和西夏则是统治者与子民的关系。宋朝惩罚子民并不意味着与辽朝对立。国书宣称所有西夏土地都是由宋太宗和宋真宗授予李继迁的中国领土。所以,如果西夏不打算投降,中国仍保留收回统治权的最终权力。国书还指出西夏人“一面修贡,一面犯边”的反覆无常的态度。最后,国书承诺谈判。在逗留开封三十五天之后,辽使接受国书而回。同时,宋朝促请西夏呈上谢罪书和交还两名战犯珪布默玛和凌吉讹裕,作为换取和平的必要条件。在西夏未履行这些要求之前,宋军加快进行横山和天都山的防御工事。
正当西夏兵败平夏城,宋朝全面占据横山和天都SD路的鄜延路建筑暖泉寨,距离米脂寨东北四十五里。同时,河东路在黄河西岸建置了四座堡寨,加强对横山的控制。1099年夏,宋朝动员超过十万大军,十天之内筑成另外八座堡寨。结果,鄜延、河东和麟府三路连成一道新防线,沿横山绵延超过三百里,将党项人驱赶到沙漠地带。为巩固对新占领地的控制,宋朝在葭芦寨设立晋宁军。此外,环庆路经略司在横山兴建三座重要堡寨外,另于沙漠边缘、距离前西夏韦州监军司仅十里的地方筑了一寨。同时,泾原路扩张边面,由平夏城以北,伸延到西夏行宫南牟会的原址,设立天都山的指挥部于西安州。西安州距熙河路通会堡仅五十里,边面连接,而西夏天都山监军司自此失去了所据的地盘。据方勺和韩滤说,占领附近的盐池以后,宋朝每月出产的盐值达十四万钱,足以应付熙河路部份地区的支出。1099年秋,泾原和熙河两路完成会州及其余三座堡寨的工事,重新确认从兰州经黄河到会州,再沿天都山北峦穿过没烟峡,最后抵达平夏城的领土。1099年秋,西夏遣使谢罪。1099年底,双方终于重归和平,宋夏XJ界确立。