洪德城战役和其他宋夏战争的战役一样,由于缺乏西夏文记载,在研究过程中不可避免地需要借助汉文史料,由此引致研究结果的相对性应当注明。不过,也应当指出,章楶是宋陕西列帅中比较重视核实战功、防止虚冒,因而洪德城战役在宋夏战争的记载中也相对上比较详尽。除了纪传、墓志和《续资治通监长编》(以下简称《长编》)的概述外,《长编》的注中还收录了章楶覆奏枢密院的一份黄贴子和他所上折可适功状所附的两份小贴子,这些文件对战斗序列和作战经过有较深入的描述,这也是洪德城战役值得重视之处。
洪德城战役酝酿于元佑初年貌似平静,实则充满暗涌的国际形势。元佑年间旧党回朝,摒弃了新党的开边政策,但对于如何巩固边防还是大费思量。司马光主张尽数退回熙丰时所占的城、寨、州、军,但得不到旧党内部的一致认同。问题的关键在于没有人敢保证西夏得回城寨之后能保持和平,反而忧虑一旦示弱,对方会变本加厉,又来犯边。结果,朝廷采用了折衷路线,保留兰州作熙河帅府,只退还几个城寨,看看西夏的态度,结果显示,西夏求和的意愿不甚明显。事实上,西夏后族梁氏执政期间,政争激烈,透过军事胜利来巩固权力的企图,并不因宋的锾和政策而降温。于是,如何设定边防战略又再度成为开封朝廷的重要课题。
自1091年二月获除环庆路战区主帅以来,章楶先后上奏讨论边防战略。针对是年十二月降下的御前劄子,章楶对「坚壁清野」的指示作出了理论上和现实上的回应。章楶持有一种战略互动的观点,反对生搬硬套。他认为「坚壁清野」是自古御戎之策,但不可「只循一轨,使贼知我无通变之路,反为贼所制伏」。他批评片面强调「坚壁清野」,而不讨论如何打击敌军的被动防御,指出当时所谓「坚壁清野」战略只可施于前沿堡寨,纵深二三百里内已是「居民甚密」,频繁的清野会影响经济活动和人民生活。在军事上,他批评各处将兵都「束在城寨」,自陷于被动。他举出1087年镇戎军之役为例,当时「十一将兵尽在城内,蕃众掳掠三百里以上,如行无人之境」。到敌军退却时,「一夕而遁」,根本无从追袭。他又指出沿边城寨城门的阔度只可「并行人马」,设若一万人的守军要出城集队,也要花一个上午,怎可能及时追击?
经过细心考虑,章楶强调野战军的角色,提倡「大抵战兵在外,守军乃敢坚壁」的主张。他计算环庆路城寨共三十多处,若西夏动员二十万精兵,尽围各城寨,每处便不及一万,无足深患;若不尽围,便无法阻止宋军互相策应,进行机动战。他提出具体措施,主张一旦探知西夏入侵,帅府应即下令各将兵马出城,「亦不使便当贼锋,令逐将与使臣、蕃官分领人马,择利驻劄,高险远望,即不聚一处。贼马追逐,又令引避」。那样,敌军有后顾之忧,便不能从事持续的攻坚或抄掠。西夏若敢长躯深入,则宋军可扼其退路伏击。经过章楶的修订,前沿将兵在外线威胁敌军的角色得到明确指定。这是当年年底洪德城战役成功的主要关键。
1092年十月十二日,西夏梁太后大举亲征,沿马岭水(今环江)发动强大攻势,同日,围环州(今环县)及其西北四十里外的乌兰、肃远、洪德及永和等寨。西夏兵力的具体数字似已失载,环庆路经略司的文件多处都作「数十万」,失于含混,但西夏既然国母亲征,与章楶事前估计的二十万应不会有太大出入。宋环庆路驻军约五万,扣除各城寨基本戍守部队后,大约剩下二万六千人左右的野战部队,编成七将,另外可以调发四千名下番兵。此外,泾原路虽曾派遣援军,但未抵战场前西夏已退兵,没有参与战斗。因此,总兵力对比之下,环庆路宋军以数倍劣势于对方。章楶后来在战报中亦不讳言兵力寡弱。自环州于十二日受围,章楶在十四日自庆州派遣都监张存率兵五千赴援,在十六日又再派出副都部署李浩和一支不到二万的援兵后,「已别无重兵相继可遣」,「只是虚张声势,以示相续遣师讨击之势」而已。
兵力对比虽然对宋不利,但章楶却胜在能先敌展开兵力。在西夏举兵之前,他已透过间谋得悉对方主攻重点在环州,便先在初八日派出皇城使、第七将折可适兼统第二、第六将,合三将兵共约一万,与庆州方面三将兵分头控扼,另派人在环州近城百里的水源下毒。当地食水来源有限,洪德城一带时至今日仍有「河水苦涩」的地理特征,可作参照。章楶的作战计划和熙宁年间制订的战役指引不同。1071年,枢密院曾颁下《陕西四路防秋法》,虽然在很多处都反映出弹性防御的特征,可是对于环庆路环州方向的作战指引仍然比较保守,说「贼若寇环州,即移业乐之兵截山径路趋马岭,更相度时势进兵入木波,与环州相望,据诸寨中,又可扼奔冲庆州大路,其沿边城寨只留守兵,不责以战,自余军马并屯庆州,以固根柢」。以上的战役指引,虽然在快速机动和转换正面两处体现了弹性防御的构想,但其作战意图却完全是以帅府的安全,而不是以歼灭敌人为主要考虑的。章楶则不然,他强调在机动战中打击敌人,「贼进一舍,我退一舍,彼必谓我怯,为自衞计,不复备吾边垒。乃衔枚由间道绕出其后,或伏山谷,伺间以击其归」。遵照这项指导,折可适便先于十二日移师至马岭,在纵深待机。
从十二日至十四日,西夏完全握有主动权,前锋深入环庆二州之间的重要路口木波镇(今环县木钵乡),但所获有限。到十四日,章楶派出都监张存率兵五千赴援环州,开始进入反击阶段。同日,折可适探得西夏开始退兵,于是将部队中「手脚迟钝之人」留下,由权第七将许良肱暂时照管,会合第六副将刘珩、同管干第六将党万、权第七副将张禧,合兵八千四百八十八人,取间道自金村堡往环州以北的安塞寨。据现代地图所示,马岭以北数公里处有金村寺,疑即宋代金村堡:此外,环江近木钵处有一条发源自北方老爷山(标高1774公尺)的支流安山川,疑与宋代安塞堡的地名有关。谭其骥的《中国历史地图集》将安塞堡的位置标在安山川上游近老爷山主峯处。如果上述推断无误,折可适避开西夏前锋屯驻的木波镇,自马岭取道金村堡往北,绕途至安塞堡,隐然威胁西夏大军的北翼。
折可适到达安塞堡后又收到谍报,说木波镇的西夏军「翻寨下环州,日夕头回,并取洪德大川路」。当时按章楶奏报所形容,「洪德、肃远、乌兰三寨至环州相去共只四十里。其乌兰之北,尽是西贼驻劄之处,贼势至重,道路不通」,宋军第二、六、七三将兵只能在蕃官带领下,取「大虫谷道于贼寨傍偷路前去洪德下寨」。宋军选定洪德城来作伏撃点,与附近的三五条山沟所造成的复杂地形有关。大虫谷今地不详。如上述安塞堡在今安山川上游无误,则大虫谷可能穿越安山川与代城沟的分水岭。代城沟是环江另一支流,发源自老爷山,流向西南,在今二十里铺附近入环江。谭其骊将乌兰寨标在今二十里铺附近,肃远寨标在今庙儿沟流入环江的河口,而洪德城距今环县环城镇二十四公里,与章楶奏报所述折合里数大致相符。如以上方位无误,则可推断折可适在十五日那天,大致上是沿着今天老爷山西麓代城沟一带转向西南方向行军,绕过当时正在包围环州的西夏主力,在乌兰寨一约今二十里铺附近重新回到马岭水河谷的大路。由于西夏亦置有相当兵力来监视乌兰、肃远和洪德三寨,因此才发生「贼势至重,道路不通」,必须「于贼寨傍偷路前去洪德下寨」的情况。
十月十六日,折可适、刘珩、张禧、党万及蕃官孟真各带领所属部队进入洪德城。据李之仪为折可适撰写的墓志铭所载,折可适分兵二千给蕃官慕化和摩勒博,潜入乌兰、肃远二寨待机,并约定举火为号。同日,章楶派副都部署李浩率四将兵赴援。李浩兵力不到二万,但已是当时环庆路最大的兵力集结。李浩接受命令后昼夜兼程,当日自中午前出兵,傍晚抵达故府寨,次日午后赶到木波镇,在一日另两个时辰赶了一百四十里路。过了木波镇,西夏重兵在前,不能像先前那样赶路了,便下寨休息。十七日一整天,折可适和慕化分头在洪德城和肃远寨整顿待机,而西夏大军则大概在深夜从环州撤围。
十八日凌晨稍后,折可适看见肃远寨举火为号,确认了西夏大军取道洪德城出塞,即时下令党万、孟真率部在路旁险要设伏,并亲自在城中整顿伏兵,放西夏前锋过去。大约卯时,或说辰时左右,西夏「前军已远,中寨方来」,折可适认明西夏梁太后旗号,出其不意,大开南门出战,其余各处伏兵亦相继杀出,截断大路。慕化在肃远寨也挥军杀出。接战至紧要关头,折可适从西门放出劲兵急攻,西夏中军大乱。另一方面,李浩在午后未时抵达环州,还未探知折可适的确实方位,更因昼夜行军,人马疲乏,便在州城内外稍事休整,喂饲战马,同时,派遣部将张诚率蕃汉精兵追击,然后再派人马相续接应。据章楶事后解释,李浩没有全军立即投入战斗,还考虑到西夏「自来行兵入境,则精锐在前,出境则精锐在后」,而当时「殿后者皆铁骑,又隐轻骑于其间,其气可呑我军。……行阵壮坚,势甚雄伟」,令李浩不敢轻敌急击。章楶战后检讨说,当时权第四将马琮追击太急,反被西夏军包围,经全体将士奋力营救,才最后脱险。
洪德城方面的战斗持续至午后出现反覆,宋军第二、六、七将一度处于下风。章楶的奏报和〈小贴子〉中所述战况开始吃紧,说未时以后「贼军铁鹞子数万迫近洪德寨」,后来又提及西夏「后军继亦奔溃」,显示西夏后军曾经加入战斗。再结合前述西夏以铁骑殿后的特点,及李浩不敢对敌军尾部施以太大压力的情况来看,似乎西夏后军约莫在未时抵达战场,以精锐的铁鹞子把宋军又赶回城寨。折可适的部下自卯时至戌时「血战不已」,已达八个时辰。当战情出现逆转,他敏锐的转入防御,让部队得到歇息。他首先组织部下向敌骑来路撒铁蒺藜,又在城上设神臂弓、硬弩交叉射击,然而,西夏铁骑「犹奔冲不已」。最后宋军以虎踞炮加入,矢石交击。至午夜,西夏军驼马受伤渐多,开始登山引避。在三更时份,折可适再开门出击,西夏军马「自相腾塌,坠入坑谷,驼马、甲士枕籍积叠死者不知其数」。梁太后「几不得脱」,从间道走免。
章楶事后下过一番工夫来核实战报,力求避免「以易为难,夺甲为乙」。此役宋军只斩得首级千余,扣除宋军三将兵的损失,「除亡失与所获准折,计获首级三百二十一级」。以一日一夜的恶战而言,的确战果不大,这与中间一度退入城寨,不能始终占领战场或有关系。同时,「其落崖扑死,及散在民间不在此数」;误饮经已下毒的泉水,「人马被毒」,失足堕入坑谷而死,及重伤而死的都已无法统计了。宋军缴获马六百余匹、驼九百余匹。驼多于马,显示出宋军的确攻击了敌军的辎重。另外,缴获监军已下铜印二十四枚及梁太后衣服、龙牌等,也证明宋军的确冲击了敌军的指挥中枢。西夏遭受这次意外失败,立即借辽朝名义斡旋,向宋请和。
宋军在洪德城战役的成功有赖主帅章楶严密的战役计划。其中最重要的一点,是他将外线机动部队第二、六、七三将兵在作战前四日派出,以免被西夏大军围困在沿边堡寨,而李浩麾下的四将兵则在开战后四日,当对手萌生退志时才派去,这八天的时间差是整场战役的关键。同时,宋军也充份发挥了对地形的掌握,否则,折可适的外线机动不大会成功。洪德城战役也体现了弹性战略防御对指挥官的要求,必须灵活敏锐、顾全大局、不能搞个人英雄主义。折可适伏击、退守、再出击的判断,和李浩赴援迅速,而追击则转趋慎重的表现,比起早期时刘平后)、任福等可说称职得多。美中不足的是李浩到达环州时没法和折可适联络上,不能发挥前后夹击的最大威力,将整场战役发展成一场歼灭战。这也反映出事前章楶对诸将相互策应的可能性估计得太乐观。
如果纯以斩级的数量来计算,1092年的洪德城战役并不算是宋军很大的胜利,将伤亡和斩。级扣除之后,所获更是有限。可是,这场不大的战术胜利,背后代表着不容低估的战略意义。环庆路经略司经过慎重的研究,挫败了西夏倾国而来、以压倒性优势打击宋军一路的战略。这个以寡击众的问题在庆历年间还没有完全解决。宋军不但保存了所有州、军、城、寨,更在宋夏战争中唯一一次击破西夏的「中寨」、即中军御营。同时,这一役也是宋军争回战略主动的一个里程碑。此后,再经过延安之役和平夏城战役,西夏就转落于下风,宋军达成了庆历以来筑城横山、建立巩固前治的战略构想。这一役的成功和府州折氏的后起之秀折可适杰出的指挥水平分不开,而路帅章楶对弹性防御所作出鲜明精辟的演绎,更是功不可没。