8月1日,總攻開始,經過4小時的激戰,突破了三關口、瓦亭一線的馬軍防禦,2日攻佔了戰略要地六盤山。
解放軍千裡追擊,氣勢磅礴,勢如風卷殘雲。追擊途中戰士們忍受極度饑渴,克服種種困難,日夜兼程,直逼蘭州。
蘭州是甘肅、寧夏、青海、新4省的交通輸紐,是西北軍政長官公署所在地,西北政治軍事中心。蘭州三面環山,北有黃河天險作依託,南有南山作屏障。主陣地有鋼筋水泥碉堡,形成碉堡群,通向城裡的環山公路與各主要陣地相連線。外側面有環形人工峭壁1至2道,高6至10米。峭壁外有一兩層3至5米深的外豪,各壕之間又有暗堡和野戰工事。
馬步芳父子把保衛蘭州,看成是自己生死存亡的關鍵,親自指揮部署。並請求空軍助戰。
馬鴻逵擺出支援青馬個態勢,等待時機攻擊解放軍背後。
胡宗南調集4個集團軍於川陝公路,準備配合青馬作戰。
8月19日至20日,第一野戰軍兵臨城下,從東西北三面包圍了蘭州。
21如淩晨,野戰軍向蘭州發起了攻擊。對南、西、北三面的外圍據點同時實施猛烈的炮擊後,步兵隨後發起猛烈的攻擊,馬家軍從掩體爬出,依據有利地形,向沖上來的解放軍發起反攻,一直打到天明,陣地仍然在敵軍手裡。進攻部隊撤下來來了。
彭德懷:“怎麼搞的?”
許光達:“主要是輕敵,沒想到馬匪抵抗會這麼頑強,此外我們對蘭州城外防禦工事瞭解也不夠。”
楊得志:“也是輕敵,事先沒有把情況搞清楚。”
彭德懷:“你們都說對了一半,有一半沒有說。就是馬匪防禦工事太堅固!搞總結主觀、客觀都要講。客觀原因摸不清楚,到時候還要吃虧。馬繼援的防禦不能小看,從這一仗可以看出,馬繼援並不是我們想像那樣軟弱,他是作了死守蘭州的打算了。”
8月25日早7時,三個兵團同時展開了攻勢,炮兵對敵人實施炮火準備,馬家軍陣地瞬間化作一片火海,這次炮擊不但火力猛,而且打得準,對敵人前沿陣地及敵人火力點的破壞效果明顯。
沈家嶺是蘭州的南大門,必須拿下。第4軍11師31團團長王學理身先士卒,指揮爆破組把沈家嶺炸開了一個缺口,2營官兵冒著槍林彈雨沖向敵人陣地,接著第二梯隊一營迅速跟進,敵人190師招架不住,馬繼援派兵增援,陣地上殺聲震天,血肉橫飛,待敵漸漸不能堅持時,王學理大刀一揮,預備隊1團拿下了沈家嶺,團長王學理、政委李錫貴都壯烈犧牲,全團只剩下300人。
臯蘭山主峰營盤嶺戰鬥也同樣激烈,敵人憑借鋼骨水泥工事拼命抵抗,6軍17師50團幾次爆破均未奏效,最後46團7連指導員曹德榮抱起一堆炸藥,趁手榴彈爆炸的濃煙沖到削壁底下,以自己的身體支撐炸藥包,一聲巨響與敵碉堡同歸於盡。戰士們以英雄為榜樣,沖上臯蘭山,與敵人拼殺,下午5時,終於佔領了臯蘭山。
63軍攻佔了豆家山戰地。
65軍佔領了古城嶺、馬架山。
敵人的幾個主陣地被突破,王震1兵團也朝蘭州西側急速前進。馬繼援神色慌張,與其父馬步芳通話之後,下令全線撤退。
26日11時7師21團在強大火力掩護下越過黃河鐵橋,一舉殲滅黃河北岸白塔山上的守敵。
中午12時,蘭州宣告解放。
蘭州解放,王震帶領1兵團向西寧挺進。馬步芳27日逃離西寧。馬繼援到西寧後,也於30日,逃到重慶。9月5日,1兵團1軍解放西寧。
西北軍政公署副長官劉任收集青馬餘部向西撤退,1兵團2軍和2兵團緊急追擊逃敵,翻過祁連山,繞過烏鞘嶺,穿過騰格裡大沙漠,直取武威、張掖、最後解放了酒泉。青馬徹底被殲滅。
青馬覆滅,寧馬孤立。馬鴻逵拒絕傅作義好言相勸,飛到重慶,其子馬敦靜遵照父親“燒光、打光、淹光”的旨意,從景泰開始佈置三道防線。
楊得志率領19兵團於1949年9月6日,開始北進,剿撫並用,勢如破竹,馬鴻賓、張欽武先後起義,馬敦靜三道防線徹底崩潰,馬敦靜倉皇出逃,其三個軍分別向我部投降。23日寧夏解放,殲敵4萬餘人。