從三月二十日開始,宋軍就和西夏軍發生了一系列小規模戰鬥,雙方互有攻守。由於宋軍非常謹慎,都是稍一接觸立即脫離繼續靠近懷寧寨,讓沒藏訛龐纏住宋軍各個擊破的設想再次落空。在陝北那種破碎地形上,搞大規模的騎兵衝擊效果並不理想,宋軍又一直隊形嚴整,讓沒藏訛龐一直找不到下嘴的地方,隻好等待步兵跟上來準備打一場硬仗。
三月二十二日,嵬名山帶領的左廂神勇軍司步兵和隨沒藏訛龐來的兩萬多步兵都以到達,把宋軍團團圍住,兵力具有明顯的優勢,但是沒藏訛龐仍然企圖調動宋軍以減少傷亡。他派遣一萬騎兵虛張聲勢進攻綏平寨,並且故意不攔截從綏平寨出來報信的騎兵,以期讓宋軍出營,在野戰中殲滅宋軍。
問題是李不棄早就對西夏人圍點打援的戰術作了預防,不但擴建了那些比較靠前的寨堡,加厚加高的牆壁,而且給他們裝備了弩炮、投石機和火銃。按照李不棄的推算,就是綏平寨這樣的大寨又是依山靠河的險要地形,西夏人就算是用十倍兵力圍攻,沒有十天半個月也拿不下來。
但是在接到綏平寨告急文書之後,李不棄決定將計就計,二十三日擺出一副準備突破包圍救援綏平寨的架勢派民兵兩個旅加上一批禁軍弩手整軍出營對西夏軍隊發起進攻。
兩萬人出營列隊之後,曲珍隨李不棄帶一萬多人壓陣,第一旅旅長劉舜卿帶領民兵六千,弩手兩千人分成以營團為單位分成一個個方陣,緩緩沿著河谷向西推進。
在這河谷之中,雙方大部隊都沒有迂回余地,沒藏訛龐也只能硬碰硬,他只能寄希望於利用防守增大宋軍傷亡,將宋軍削弱到一定程度再攻擊懷寧寨。因此沒藏訛龐命令部隊後退到一塊稍微開闊的地方,又命令潑喜軍指揮李清把弩炮和投石機都集中在宋軍正面,以期給宋軍最大的殺傷。西夏潑喜軍接到命令立刻把駱駝背上的輕型弩炮和投石機組件卸下來,在戰場上組裝起來。
很快西夏人就組裝好了弩炮和投石機,眼看著宋軍緩緩的移動過來,李清立即命令弩炮和投石機都做好準備,只要宋軍一進入弓箭射程,在弩炮和投石機前方遮蔽宋軍視線的一層騎兵向兩旁讓開就發射——無奈啊,能用駱駝駝運的投石機和弩炮就是這樣的苦逼射程。
宋軍卻沒有直接衝過來,眼看到達距離西夏軍鋒線兩百公尺的地方,突然一陣密集的鼓聲,所有部隊停止了前進。
這個距離西夏強弩無法洞穿宋軍鎧甲,只能眼睜睜看著宋軍玩兒花樣。然後西夏人就看到宋軍從隊列中推出許多器械,一層層擺在隊列前方。
按照李不棄制定的操典,宋軍把火炮放在最前方,弩炮放在火炮後方,最後面一層是扭力投石機。當所有武器放列完畢,劉舜卿一聲令下,四門4公厘火炮和兩門5.5公厘火炮就開始轟擊,炮彈在西夏人的隊列中打出一個個空洞。
第一次射擊後,西夏隊列中一片驚叫和哀嚎,但是在軍官的彈壓下,很快就恢復了安靜。西夏人仍然在等宋軍靠近。
但是劉舜卿現在並不著急前進,而是命令火炮原地裝填,原地射擊。就這樣一輪又一輪的鉛球砸進西夏人的隊伍中,似乎無窮無盡。六七輪以後,西夏人隊伍就再次開始騷動起來,絕大多數西夏人都不明白為什麽他們就這麽傻乎乎地站在原地給人家當靶子。憋氣啊!此時難道不該衝上去射箭嗎?難道潑喜軍好不容易拉過來的器械都是擺設嗎?
李清也很焦急,因為弩炮和投石機擺在大隊前方所以已經遭到了損失。他親眼看到一個鐵球把一個擋在投石機前的騎兵打碎後撞上了投石機,直接把它打成一堆爛木頭。已經蓄勢待發的拋竿失去了製約,在絞緊的牛筋巨大的扭力作用下旋轉著橫掃了周圍的砲手,造成一地死傷。但是現在他的這些器械的射程真的夠不著宋軍,反倒是原本裝備的架在駱駝背上的“旋風炮”有可能把拳頭大的石塊兒扔到宋人的陣列中。但是現在旋風炮都在後方呢,所以他一點兒辦法也沒有。
轟擊還在繼續,雖然每次的死傷其實未必有宋人強弩覆蓋多,但是光挨打不能還手,對士氣打擊實在太大了。
最終,在半個時辰之後,沒藏訛龐也受不了這種枯燥的節奏了,他終於明白宋軍真的不著急,他顯然不可能等到宋軍來猛攻他的預設陣地。在一番咬牙切齒之後,他隻得命令步兵發起進攻。
一個小時,西夏人已經傷亡超過五百人,前鋒已經換了一撥。在接到出擊的命令之後,西夏人高興地歡呼起來,步兵軍陣立刻擂起戰鼓向宋軍對衝過去。
很快,宋軍的神臂弓開始拋射,雖然不斷有西夏人被射倒,但是其余的人仍然大步的繼續向前衝。剛才光挨打不能還手太憋屈了,他們現在急於報復,根本就不顧及傷亡了。在接近宋軍一百米的時候,宋軍的隊列中突然如急雨一樣飛出很多標槍和石塊,讓西夏人的腳步一滯。
但是現在這些西夏人明白,弩炮和投石機發射一次後需要很長時間重新複位,暫時他們不會再遭到弩炮和投石機的打擊了。於是他們越過血肉模糊的屍體再次加快了腳步。
從河灘上飛來了一些奇怪的東西,有些像是鳥,但屁股上拖著幾支羽箭,還冒著火光,有的則是龍的形狀。這讓一些走在後邊的人抬頭看過去。突然之間,那些鳥或者燃起火焰落入人群,或者發生了爆炸,龍則吐出一串拖著火尾的羽箭,雖然並沒有造成什麽傷亡,但是卻引起一陣驚叫和混亂。
趁此機會,宋軍炮兵停止射擊,抬高仰角改換沒有木送子的炮彈。小鼓和尖銳的銅哨聲響起,三排舉著蠻牌拎著戰斧的肉搏手和三排身材高大的火槍手以及三排火銃手都身披重甲,從火炮的間隙中來到火炮前方三十米站定。肉搏手豎起蠻牌,蹲在蠻牌後面,火槍手把隨身的長柄小斧尾端插在地上,然後把沉重的火槍架在斧頭上,瞄準黑壓壓的西夏人。
西夏人的羽箭叮叮當當敲打著他們的甲葉,但是卻很難破開鎧甲,只有特別倒霉的人偶爾發出一聲悶哼。一長一短尖利的哨音響起,所有的火槍手幾乎同時扣動扳機,等看到槍口噴出硝煙,便抱起火繩槍轉身邁著方步走到隊列後方。
第二列火槍手隨著軍鼓的聲音走到小斧前,把槍架在小斧上,等候命令再次開槍。
重型火繩槍雖然比弓箭笨重多少倍,射程也近,但是在五十米距離之內只要打中目標,鎧甲什麽的都不是問題,目標肯定失去戰鬥力。每一輪槍響,西夏人的前鋒都會倒下一層,西夏人衝鋒的道路鋪滿了屍體,這讓他們心生寒意,腳步不由得越來越快,希圖盡快拉近與宋軍的距離,避免這種單方面的屠殺。很快隊形就混亂了,人群烏央烏央向前衝。
眼看最前面的西夏人還有二十多米就衝到肉搏手的盾牆跟前了,火槍營長吹了三聲急促的哨音,火槍手不再上前,原地裝彈,三排火銃手跑步穿過火槍手之間的空隙,來到盾牆後面,對著近在咫尺的西夏人點燃了轟藥。
一陣幾乎練成片的爆響之後,眼看就要與宋軍接觸的西夏人突然少了許多。就在銃響過後,一聲如鷹隼嘯叫的哨音響起,肉搏手們突然站起,舉起了盾牌和戰斧。
僥幸在密集的火銃轟擊中毫發無傷的西夏人已經稀稀拉拉, 當他們衝到宋軍跟前時因為落單,總會有兩三把戰斧從左右砍來,所謂雙拳難敵四手,再強的勇士遇到這種情況也就是多幾個回合少幾個回合的事兒。
西夏人這個攻擊波次已經被火炮和火槍打殘了,又失去了嚴整的隊形,後面的人見前面的人在宋軍移動的盾牆前不斷倒下卻根本無力破開盾牆,終於失去了最後一點兒勇氣,開始驚叫著轉身逃跑。
劉舜卿招手發出停止前進的信號,鼓號手立刻把命令傳達下去。聽到號令,肉搏手就地蹲在地上,火槍手再次把小斧插在地上,對著逃跑的西夏人的後背一陣射擊。
當硝煙散盡,宋軍整理隊形後,依然是火炮在前,火槍在後,再次慢慢向西夏軍隊推進過去。沒藏訛龐已經意識到眼前這支軍隊可能是宋軍中的精銳,隻得派上了強弩,指望著給這支宋軍當頭一擊。讓他沒想到的是,在雙方都用強弩對射一陣之後,宋軍立刻就主動撤退了。
這是怎麽回事?難道你們不去救綏平寨了嗎?沒藏訛龐正在疑惑,卻又有一支宋軍出了大營,這次卻是向東去的,他們竟然是去進攻嵬名山。這下沒藏訛龐明白了宋軍這是在羞辱他,是明確的告訴他不會按照他的安排去救綏平寨了。
既然在這個河谷中,他無法發揮兵力和騎兵的優勢,那就不需要在遲疑,他當晚就命令全軍撤離淮寧河,靜靜等待宋軍的下一步行動。
按照趙盛的觀點,懷寧寨一戰只不過是雙方互相試探了一下,為幾天后真正的大戰做個鋪墊而已。