兰州位于四周环山的狭长的盆地上,黄河自西向东贯穿,兰州地处南岸,城西有一座刚造的铁桥联系北岸,此桥是当时数千离黄河唯一的桥梁,故军事价值很大。若控制兰州,兰州的南山是必守的阵地。南山自东向西依次为十里山,古城岭,窦家山,马架山,营盘岭,沈家岭,狗娃山。其中沈家岭离铁桥最近,又与狗娃山一起扼守着两条南去的公路,被认为是“兰州锁钥”。十里山,古城岭、马架山,营盘岭还有左宗棠进新疆前修的部分野战工事的残迹。
虽然青马军官自己也认为兰州因为山势陡峭而易守难攻,但事情不那么简单。从宏观上讲,南山诸山从东到西是一字排开,但除了东部的十里山是对外呈横“一“字外,其余上面提到的诸山都是南北长、东西短的椭圆形山梁,而守住这些山梁,必须在上面构筑椭圆的环形阵地,不但战线数倍放大,而且一开打,前、左、右都可受到攻击。客观的说,兰州既不好攻,也不好守。
等青马到位十来天后,远道而来的国防军也进逼兰州城外。双方的布阵是,青马方面:青马骑兵第四团、步兵第三团加青海保安一团守东冈十里山,古城岭,窦家山,马架山,其中青海保安一团守窦家山。骑一团主力守营盘岭。步三团主力守沈家岭,狗娃山,其中步三团一个营守沈家岭,另外二个营守狗娃山。骑兵第二团和真神军的一千多枪手守小西胡。小西胡在狗娃山西侧后,起掩护作用。马步芳带着骑兵第三团作为机动兵力放在黄河铁桥附近的村子里,剩下的几个骑兵独立营和真神军的三千多冷兵器部队放在了兰州南城。
从双方后来的资料对东部青马步兵第一团防守面的叙述不一致,国防军方面的布阵图标记着青马的第一步兵团守东冈十里山,但青马军官后来回顾,第一团的一个营开战前调离了兰州,另一个营布置在城区,而且这个第一团其实是来自青海的回人士兵,缺乏热*兵器训练,战斗力弱,因此估计不会让其守东冈十里山这样重要的阵地,故采信青马说法。但青马回顾资料未谈及青海保安一团,此点采信国防军方面说法。
国防军方面:步兵第5师攻窦家山、十里山、大汉教导师攻古城岭,马架山,盛唐教导师攻营盘岭,另有奉军27师一个团佯攻沈家岭,狗娃山。独立骑兵11师牵制小西胡敌人并做总预备队。基本上,除了奉军的佯攻之外,国防军是以一个军攻青马一个师。
大汉教导师师长郑维山本来就是甘肃天水人。郑当年是甘肃闹饥荒的时候抢大户的带头人,大多数苦哈哈们都死在了马家军的马刀下,他是靠着一段房梁只身渡过黄河才逃了一条性命。因为他组织能力比起其他泥腿子强的多,毕竟是挑过头闹革命的人,所以在新军中崛起的非常迅速,经过枣林军校的深造,在剿匪和东北战争中,杜子成觉得他关键时候能顶事,有韩信风范,这位瘦小瘦小的西北汉子在五年内成为了一名高级指挥员。
青马主力8月中旬初就赶回了兰州,抓紧构筑完善工事,国防军8月18日接锺而至,只准备了一天就开始攻击。8月20日双方开打。
事后,国防军说20、21日的攻击是“试攻”。其实如果攻下了,也就不说“试攻”了。吴宸轩也觉得杜子成他们创造性的“试攻”大概是进攻失败后的托词。
实际上两个教导师只攻了一天就叫停了,大汉教导师首次与青马接仗,头天攻不动,不服气,第二天接着来,还是攻不动,于是郑维山哀叹:我们国防军部队历史上从来没有攻两天一个阵地也拿不下来的时候。实际上兰州战役前,杜子成同学安排远道而来的两个教导师先不参战,只警戒和牵制马家军,报到济南也得到了总参的赞同,却急得吴宸轩连连发电,让杜子成把青马作战特点“务必告之郑、杨等,他们对打马是没经验的”。从大汉师“试攻”两天的战绩看,吴宸轩多来几封电报真是不冤枉他。
“试攻”阶段,国防军全线伤亡200人,硬是没拿下一个青马阵地。
多年后,一位随军记者在采访曾碰到一个干部,就是当年在大汉师部队参加打兰州的,记得他说:双方接触时间短,教导师还没有完全展开,火力没有发扬就进入了白刃战,国防军的刺刀拼不过青马的马刀,还说,青马反击时,眼看冲下来,炮兵急忙开炮,伤了不少自己人。不过,说到后来,语气也挺轻松,“再攻攻下了,攻了一天就攻下了”。记者问他“试攻”为何没攻下,他说是轻敌。
不管是轻敌,还是准备不充分,或者两者干脆就是一回事,反正估计杜子成*当时肯定头皮发紧,首攻攻不动,二次攻就一定能攻下来吗?从杜大将军给吴总座发的电报看,杜是作好了再攻失利准备的。
“试攻”阶段,青马击退国防军的步兵,士气大振。“青马股份”在陕西失利“暴跌”后“反弹”。其伤亡虽然根本不是马步芳所说的“百数十人”,但估计比国防军相比多也多的不算离谱,可能全线不会超过500*人。但马家父子在欣喜之后,于兰州攻坚战决战打响前逐渐认识到了问题的严重性。
首先,青马坚守兰州的战法,工事火力基本爆露,阵地不让对方攻入,伤亡固然小,但一旦攻入再夺回来,青马也要付出相当的伤亡,这已被证明。在国防军优势兵力火力面前,青马能否陪得住?其次,马步芳实行兰州决战的条件是兰州左翼的真神军的一部分马匪部队,汉中的胡军要作有力配合:真神军的一路骑兵直接攻击兰州外围的国防军,一路攻击定西,切断国防军供应线。宁马再出兵要进攻宝鸡。兰州右翼的安全也要有保证。而现实是,宁马千呼万唤不出窝。真神军的马匪在马麒的严令下,倒是进攻了宝鸡,但立即遭到正在游弋的独立骑步第11师德痛击,大败而归。而旭烈兀所部已经直插临夏,所谓保证右翼安全的独立骑兵师在国防军没到时就已经溃散,眼看旭烈兀部过了黄河就能兜击青马西宁老巢。
8月22日,马麒在国防军“试攻”中获胜后离开了兰州窜回西宁。从各个方面情况看,马氏父子至少在国防军总攻兰州的前一天就已经意识到青马末日到了。马步芳临行前告之马继援,若无援军,撤回青海。
“试攻”后过了三天,8月25日,总攻兰州打响。
战后,双方在战线东段和中段的战况描述是不一致的。国防军方面的记述是,攻克了阵地,青马无力反击,最后溃败。青马的描述是,战况虽然激烈,但远没有到支撑不下去的地步,青马是按照计划建制完整的主动撤离阵地的。当然双方的伤亡都不大,但是阵地易手也是不争的事实、
综合分析各种资料,可以得出结论,古城岭、窦家山是在下午4点钟左右攻克的,当时青马前线指挥官都知道了要放弃兰州,这里的青马步兵三团和骑兵二团就按计划就要开始撤离了,当然不会再争夺这两个阵地,他们的防区就交给了刚刚会放枪的真神军。古城岭、窦家山即使被对方占领,只要十里山、马架山不占领,国防军仍然不敢从撕裂的口子插入兰州。而当日国防军似乎也只满足攻克古城岭、窦家山,没有进逼对手。防守窦家山的损耗主要是青海保安一团,青马只赔上一个营,加上古城岭的损失,整个青马在阵地上估计损失不会超过750人,因此青马骑兵步兵的建制较完整的撤离阵地是可信的。
同样,盛唐师攻的营盘岭也是这种情况,盛唐师攻了一个白天,也只在下午5点占领了三营子阵地,前面还有二营子、头营和皋兰山主峰阵地,离把骑兵一团赶下皋兰山还早呢。而这时骑兵一团也在准备撤离,不会反击了。骑兵一团团长后来自己说其部队阵地上损失不大,但从战况看,损失应该大于骑兵四团。骑一团也应当说建制较完整的撤离阵地的。同样,盛唐师占领了三营子阵地后没有进逼敌人,到第二天早上才“军旗插上皋兰山主峰”。
只有西段沈家岭,狗娃山,双方的战况描述基本一致。青马方面的回顾者是当时的一名团副,他一个白天直至下午6点多钟青马被奉军团赶下沈家岭都在那里督战。结论是,沈家岭的确是奉军攻克的,而从最后时刻青马步三团团长仍在沈家岭最后一道防线督战的情况看,青马负责防守和增援的部队也拼到了实在无力再打下去的地步了。但是按照马麒的计划,步三团应在晚9点才能撤离沈家岭,狗娃山。所以,事后青马把兰州惨败的责任归咎于步三团团长马振武似乎也说得过去,毕竟一个团对一个团,防守方的优势要大得多。