彭德懷在23日到豬嘴嶺第十九兵團指揮部。兵團司令員楊得志、政委李志民向他報告:十九兵團部隊的歷史上還沒有遇到過這樣的情況,攻敵幾個陣地,一天多沒拿下一個。軍、師、團的幹部都很憋氣,覺得非出這口氣不可。接著,檢討說:“這次仗沒打好,責任主要在我們兵團領導人身上。”彭德懷說:“部隊試攻受阻,主要原因是輕敵,次要原因是敵工事堅固,敵人頑強。這次試攻是我決定的,時間倉促,部隊準備不夠。不過透過這次試攻也達到了瞭解敵人的目的。你們要告訴部隊沉住氣,總結經驗教訓,仔細研究敵人,紮紮實實地做好準備工作,待命向敵人發動總攻。”
當時有的幹部仍認為當前形勢已是“秋風掃落葉”,馬步芳未必會固守蘭州。彭德懷在一次會上又提醒說:馬步芳、馬繼援都是反動透頂的傢伙,他們就像輸紅了眼的賭棍,把最後一點賭注全押在蘭州。我們部隊大部分還沒有同他交過手,不是有個“困獸猶鬥”的成語嗎?對敵人切勿疏忽大意。馬軍慣打反撲,在佔領敵陣地後,改造工事未完成時,最須注意。他還意味深長地說:蘭州這一仗打好了,西北可以早一點解放。打不好,讓敵人跑掉,我們就是對人民犯罪。
經嚴密偵察,敵人主力在南山,東西兩翼薄弱,分兵把守;北面黃河鐵橋是敵人唯一退路。這樣,攻佔南山就成為攻打蘭州的重點,能否奪取黃河鐵橋是能不能全殲敵人的關鍵。據此,彭德懷又適當調整了兵力部署。8月24日21時,彭德懷和張宗遜向中央軍委報告:“二兵團、十九兵團攻城準備工作已妥。疲勞尚未恢復,糧食不足,油、菜更難解決。青馬軍不斷反襲,故很難得到休息。以現在的準備工作看,攻佔蘭州有六七成把握,故決定在25日晨開始攻擊。”毛澤東在26日覆電:如25日攻城得手,則局勢起了變化。如不得手,則作為偵察性質之作戰,按來電確定先打援,後攻城。
野戰軍做了充分準備後,於25日拂曉發起總攻。敵軍堅固工事一個個被突破。經過異常激烈的戰鬥,沈家嶺主陣地上的上、下狗娃山,首先被第四軍攻佔。下午,第六軍攻克了南山最高峰營盤嶺的主陣地三營子;六十三軍攻佔敵另一主陣地豆家山。六十五軍於黃昏佔領古城嶺、馬架山。至此,蘭州的“鎖鑰”已全部掌握在野戰軍手中了。在戰鬥中,敵軍指揮官用機槍和大刀督戰,連續向野戰軍發動反衝擊。進攻部隊攻佔每一條壕溝,攀登每一道削壁,奪取每一個陣地,都經過艱苦的戰鬥和反覆的爭奪,多次拼刺刀,同敵人肉搏。
皋蘭山的主峰營盤嶺,敵之工事最強。當六軍十七師五十團衝鋒到第一道削壁時,突破口未被炸開,敵人憑藉鋼筋水泥暗堡拼命抵抗,幾次爆破和攻擊均未成功。這時七連指導員曹德榮挺身而上,抱起炸藥包,趁著手榴彈升起濃煙霧之際爬到削壁下,身貼崖壁,手託炸藥包炸開了缺口。這位捨身炸削壁的英雄,以自己的身體開闢了前進的通道。隨後部隊又突破二、三道削壁,在十六師密切配合下,勝利地攻佔了三營子陣地和皋蘭山主峰營盤嶺。後來彭德懷多次談到:打蘭州是一場惡戰,是艱鉅的攻堅戰。有的團一千五六百人的建制,戰鬥結束時只剩下幾百人。這些戰鬥英雄們為了人民事業,粉身碎骨,英勇的自我犧牲精神,永遠值得我們學習和懷念。
在蘭州鏖戰之際,野戰軍左路第一兵團於8月22日解放了臨夏。馬步芳深感後方空虛,老巢危急,不得不由蘭州抽調騎兵第八、第十四師回西寧,同時急派親信赴寧夏求援。但馬鴻逵為儲存實力,虛與委蛇。馬步芳又於24日急電國民黨政府:請火速分催陝署、寧夏友軍行動。並於當天自蘭州飛回西寧。行前叮囑其子馬繼援:如馬鴻逵、胡宗南及空軍再不來援,則迅行撤守青海。這時蘭州的南山陣地均被攻佔,青馬軍傷亡慘重,城中沒有預備隊,寧馬和胡宗南的援兵一個也沒有來。25日下午,那個發誓“與蘭州共存亡”,囂張一時的“馬家軍”總指揮馬繼援,秘密從陣地上撤走主力,趁夜幕降臨之際,想透過黃河鐵橋退至北岸。
第二兵團三軍七師首先發覺敵人開始逃走。他們一面報告上級,一面發起追擊。26日凌晨,攻佔西關,搶佔鐵橋,堵死了敵軍的唯一退路。經過巷戰,野戰軍於當日中午肅清了城內殘敵,越過鐵橋佔領白塔山,被國民黨倚為金城湯池的蘭州宣告解放。西北解放戰爭史上規模最大、戰鬥最激烈的一次城市攻堅戰,西北戰場上最後的一次大戰役勝利結束。青馬主力基本上被消滅。
蘭州解放,分割了西北國民黨軍各部的聯絡。彭德懷決定不給敵人以喘息機會,猛