平夏城的竣工标志着一连串宋军攻击的开始。由于西夏军的败退,陕西五路收复自元丰八年(1085年)后失去的堡寨,并在西夏境内构筑一系列防御工事。河东路于绍圣三年(1096年)初取回葭芦寨,于元符元年(1098年)在该寨西北二十里筑起神泉寨。三交堡落成后,与上述两寨在那里形成一道三角防线。
鄜延路也巩固无定河和大理河的防卫,占领横山东部的战略地带。绍圣四年(1097年)初,吕惠卿加强乌延口的防卫,此乃沈括、种谔于元丰五年(1082年)进筑横山时选定的原址,也是两年前党项人入侵延安府的要途。当西夏主力在石门口与泾原部队交战时,吕惠卿把握战略时机,赶快筑成浮图寨。浮图寨和其余两座于大理河的堡寨竣工后,宋军便控制了无定河和大理河的分水岭。是年秋,吕惠卿在乌延口以外筑起另一座堡寨,以威胁西夏人的农耕地。翌年,吕惠卿发动大规模进攻,命令王愍越境攻击。基于西夏人的抵抗大为削弱,宋军士气高昂。吕惠卿分别委派第六将筑米脂寨,第二、四将筑开光寨。另外,第三、五和七将则掩护进筑那娘。他保证给予厢军、保甲以及民夫额外的薪金、津贴和奖赏,令每项工程得以于五六日间火速完成。结果,鄜延路总共完成九座堡寨,修直连接麟府路的边界。某些工程如乌延口、开光岭和浮图寨,曾经是以前种谔规划进筑之处。换句话说,四分一世纪之前,种谔在罗兀战役的任务,现由吕惠卿完成。
环庆路则取得白马川往灵州的据点,筑起兴平城,作为攻击西夏韦州监军司的踏脚石。同时,孙路下令在山峦高地筑起横山城。工事完成后,党项部落渐次投降。于是,孙路只需动员厢军和保甲便可,不用徵集民兵或雇募苦工。
泾原路在平夏城近郊筑起四座城,全面控制石门城和葫芦河西岸。接着,章楶在那里驻扎第十一将,保护这个关出部。他又推荐其手下、能干的将领郭成担任那里的指挥官。其后,章楶下令部队推进六十里,在没烟峡的进出口筑起两座堡寨,堵塞西夏从天都山入侵的路线。据曾布说,没烟峡以外的旷野有多条小路,党项骑兵就是沿此进行突袭。为了解决安全问题,章楶编成第十二将,提拔爱将折可适为将官。为避免在不利的条件下与宋军决战,西夏人陆续将军队及部落迁移往内陆。
在熙河路前线,钟传保持积极的姿态,加强兰州及其近郊的防线,从西南逐渐逼近天都山。绍圣四年(1097年)夏,钟传在青石峡筑城。这一条要道掩护着熙河路的补给线,并迳抵西夏剡子山监军司。元符元年(1098年)初,钟传进一步完成会宁关的工事,宋境亦得以向东扩展,穿越天都山,连接平夏城。
和永乐城之战一样,西夏军把反击矛头对准最要害的平夏城。元符元年(1098年)夏,枢密院收到环庆路关于党项人大举动员的报吿。在彻夜的讨论中,曾布衷吿章惇下令前线戒备。这份报吿证实了之前一名降宋西夏官员的口供,声言西夏不会集中“实衮都宗托卜德”,意谓包围及攻击城寨。相反,这名降官透露西夏会渗透和剽掠近郊地区。枢密院不予轻信,发出了《划一指挥》共七项,强调弹性防御和各路之间的协调。这份文件还包括训练、纪律、计划、后勤和工事等九项“检举指挥”。随着军事冲突的危险状况渐次升级,宋人加快防守准备。西夏表面上拜托回鶄使节团转达和平意愿,但宋廷考虑到并不清楚党项人的真正打算,对外交斡旋所起的作用没有寄予厚望。初冬,枢密院收到泾原路另一份报吿,据一名逃俘所说,一支庞大惊人的西夏军队,为数多达一百五十万,在天都山以北安营,距离没烟峡宋军堡寨仅五十里。其后,有报吿指这支军队沿泾原路边界推进超过十天,动向未明。正当枢密院衡量党项突然转换攻击目标的可能性,西夏军向平夏城展开空前猛烈的攻势。
西夏进行第二次平夏城之役,是一场组织完善的战役。一如以往,他们在战争中表现出灵活性和高度智慧。梁太后挟着小皇帝李乾顺亲自指挥是次战役,声称动员超过百万大军,实际上只是稍多于三十万,向没烟峡推进。纵使动员如此庞大的军事力量,党项人直到最后关头仍小心地隐瞒作战目标。战前,梁太后及众将一起标绘平夏城的位置,认为“平夏视诸垒最大,郭成最知兵”,若果西夏攻占平夏城,则其余堡寨的抵抗会相继瓦解。为达成如斯重任,六路统军嵬名阿埋负责包围平夏城,西寿监军司妹勒都逋则率领拦截部队对付宋朝援军。据蕃将李阿雅布说,这两名西夏监军非常勇悍、能干和精明。在他们的指挥下,西夏军队同时包围六座新近建成的宋军堡寨,四座在平夏城附近,其余两座在没烟峡,日夜努力不懈地攻击平夏城。在十三天的包围中,西夏运用了不同战术,包括挖地道、冲绷和楼车。
然而,宋朝的弹性防御战略足以抵销党项的攻击。陕西前沿守军的左右翼即时回应。河东路深入西夏反击,熙河路副经略使王愍则攻击卓罗监军司和右厢监军司,共杀死一千三百名士兵,俘获二万四千头牛只。他亦焚烧方圆七百里以内的农舍和仓库。在获悉平夏城之围以前,枢密院已命令环庆路派兵一万,内含三千骑,开往泾原路,作为战略预备队,由种谔之子、将官种朴率领。同时,秦凤路也派遣了数量与之相当的军队。确定党项的目标是平夏城后,开封催促环庆和秦凤两路给予更多支援。一支由副都部署王恩统领的诸路联军在泾原路登场,向平夏城进发。由于双方都全面动员,一场决定性战役已无可避免。
宋军前沿的第十一和十二将只得二万人,在郭成和折可适的领导下顽强抵抗。他们在城墙上用神臂弓射击和在夜间扰敌。据王之望所载,当平夏城处于危急存亡之际,泾原路的军官郭祖德,也是郭成的义兄,建议不顾任何代价以解平夏城之围。副都部署王恩和将官姚雄、姚古都一致赞成,但种朴提议延迟反击。他要求郭祖德侦察敌方兵力,并向在场所有人详细地解释:“夫婴孤抗剧贼,所持以坚士心者,援兵矣。今吾众寡不敌,战而胜,围未必解。不幸小挫,贼驱所获示城市,则士卒解体,谁与守者?且郭公在,城何忧?”
正如种朴所预测,郭成和城内第十一将的四至五千名士兵,造成西夏军大量伤亡。随着天气渐渐转坏,某一晚,党项的楼车遭到强风摧毁。加上西夏军队的口粮已消耗殆尽,看到军队陷于恐慌和无秩序的状态,梁太后痛哭不已,全军在子夜时份撤退。正当西夏军士气下降之际,姚雄和姚古展开反击,派一支伏兵重创敌军。后来,人们问及这个成功的防御心得时,郭成表示他唯一忧虑是救援部队可能过早到来。种朴和郭成之言,解释了章楶的防御战术原则:大抵战兵在外,则守兵乃敢坚壁。
西夏军撤退不久,章楶下令第十一和十二将以骑兵展开快速反击,并增援郭成和折可适骑兵一万。他们将部队分成六个纵队,渗入天都山。受到之前章楶四度越境“浅攻”所欺骗,西夏六路统军嵬名阿埋、西寿监军司妹勒都逋并未预期到宋军骑兵竟然深入攻击。宋军突然杀到,令正在举行猎后宴会的两位西夏监军束手就擒,俘馘三千余,获牛羊不啻十万。同时,宋军蕃将李忠杰也组织骑兵渗入剡子山,袭击卓罗监军司的大本营,统军仁多保忠仅以身免。对于是次辉煌胜利,哲宗心满意足,接受百官祝贺,并厚赏曾布、章楶以及两位将官。郭成罕有地晋升为雄州防御使,折可适为诧州防御使。此外,哲宗命令章楶将这两名西夏将领套上伽锁,用囚车送往开封。章楶以两人具情报价值,恳求皇恩大赦,收归旗下。
宋朝的军事胜利带来国际回响,西夏三度请求契丹军事介入。不久,辽朝使者抵达东京开封,促请即时停战。随着形势转变,辽朝干预宋夏战争的潜在动机表面化起来,宋朝灭掉西夏并不符合辽朝的战略利益。进行正式调停之前,辽使透露这次斡旋乃监于西夏的危急情况,要求和解。辽廷的有关决策过程没有清楚记录,但据一些零星资料显示,似乎是一个三重政策。第一,辽朝乎为促使和平实现,密谋对付西夏强硬派。据宋人谍报,辽道宗不单拒绝西夏军事介入的要求,还派使者毒死被视为好战成癖的战争发动者梁太后。结果,李乾顺恢复亲政,主导和平谈判。第二,辽朝催促宋朝放弃并归还所有占领的土地、堡寨和州军予西夏,休退兵马,还复疆土,以突出辽朝在两国之上的优越地位。第三,辽朝皇帝似乎运用了武装规劝政策。他在接近宋境代州的地方巡狩。宋朝情报指,辽营距雁门关以北只有五至七里。…