1948年3月,東北野戰軍冬季攻勢結束後,東北戰場上敵我力量對比發生了根本變化,國民黨東北剿總衛立煌集團遭我軍連續打擊後,處境非常困難,其總兵力雖仍有55萬人,但被分割在長春、瀋陽、錦州三個互不相連的地區內,由於北寧鐵路若干段及營口為我軍控制,長春、瀋陽通向關內的交通被切斷,國民黨的補給全靠空運,物資供應根本不能滿足需要。
反觀我軍方面,1948年7月初,國共雙方兵力的對比已由戰爭爆發式的3:1變為1.3:1,1948年8月,人民解放軍東北野戰軍已經擁有野戰部隊70萬人,地面部隊30多萬人。同年9月,中共中央在西柏坡召開政治局擴大會議,決定抓住有利時機與國民党進行戰略決戰,決戰方向首先指向形勢於己有利的東北。
東北地區是中國重工業最發達的地區和最大的產糧區,也是侵華日軍最早侵佔的地區。1945年日本戰敗投降後,東北即成為國共兩黨兩軍爭奪的焦點,面對關外孤軍駐守的嚴峻形勢,1948年初,蔣介石就計劃把瀋陽國軍主力撤至錦州,以便與華北傅作義配合,進可以奪回東北,退可以撤往關中,而東北剿總總司令衛立煌則力主固守瀋陽、長春、錦州三大戰略要點,以保全東北等待時機,重振旗鼓,在衛立煌的堅持下,蔣介石最終在8月決定徹底集中兵力,確保遼東、熱河,以圖鞏固華北。
冬季攻勢結束後,東北野戰軍首長於4月18日致電中央軍委,認為南下北寧路及入關作戰很困難,主張先打長春,同時殲滅長春增援之敵。中央軍委考慮到在長春作戰的確佔有優勢,於是於22日批准了東野先打長春的請求。5月24日,東北野戰軍以一部奔襲長春西郊,殲敵5000餘人,同時也發現部隊對堅固設防的大城市攻堅作戰,在戰術技術上均存在不少問題。為了避免更大的傷亡,林彪沒有貿然指使部隊攻堅,而將情況反映給了中央軍委。接到了東北野戰軍的報告後,毛澤東毅然決定只留小部分部隊佯攻長春,大部隊則南下攻打錦州。因為錦州至山海關段上各點的敵軍孤立分散,而且錦州是東北敵軍通向關內的咽喉,打下錦州等於關上東北大門。
中央軍委發了一封電報,指示東野:「你們應集中精力,力爭十天攻取錦州」,根據這個計劃,1948年9月制定了遼瀋戰役的作戰方針,東北野戰軍主力將南下北寧線,將衛立煌集團封閉在東北加以各個殲滅。為此,東北野戰軍司令員林彪、政治委員羅榮桓、參謀長劉亞樓於9月1日下達了北寧路作戰計劃「第一步以奔襲運動殲滅北寧路除山海關、錦州、錦西外各點之敵,切段關內外國民黨軍聯繫。第二步則集中兵力攻取錦州和打增援之敵」。
1948年9月12日,東北野戰軍迅速南下,對北寧路沿線敵人發起攻擊,遼瀋戰役正式開始。東野第2兵團第11縱隊和晉察熱遼軍區3個獨立師於17日先後佔領昌黎、北戴河,包圍興城、沙後所、綏中等地。9月25日,東野第8、9兩支縱隊攻佔錦州以北葛文碑、帽兒山等要地,國民黨錦州守將範漢傑見勢不妙,迅速致電蔣介石求援。得知戰報後,蔣介石令衛立煌由瀋陽出兵支援錦州,但衛立煌拒絕接受,認為「共軍圍攻錦州目的是殲滅援軍,出兵必然上當」。
到10月1日,我軍先後攻佔錦州外圍領義縣、高橋、塔山、昌黎等縣,將錦州地區守軍分割在錦州、錦西、山海關三個地區,並封鎖錦州飛機場,錦州全部陷入孤立。深感形勢嚴峻的蔣介石,嚴令衛立煌由瀋陽派兵增援錦州,並於10月2日親赴瀋陽,他不顧衛立煌等人反對,決定以瀋陽地區主力編成西進兵團,企圖攻佔彰武、新立屯,切斷東北野戰軍的後路。並另從華北和山東運來7個師,加上54軍4個師,共計4個軍11個師組成東進兵團,企圖以東西對進之勢夾擊圍攻錦州的東北野戰軍。
塔山是北寧線上一個小村落,位於錦州、錦西之間,距錦西10餘公裡,距錦州30公裡,是由錦西增援錦州的必經之路。林彪強調指出:「攻擊錦州最重要的保證是要把錦西方向的敵軍擋住,兩錦相距約50公裡,萬一堵不住敵人,攻擊部隊就要受到很大威脅」。林彪致電4縱:「你們必須利用東自海邊,西至虹螺蜆山一線約20餘裡的地區,作英勇頑強的攻勢防禦,利用工事大量殺傷敵人,使敵人在我陣地前屍橫遍野,而使我軍創造震動全國的光榮的防禦戰」。
1948年10月6日,蔣介石乘「重慶號」巡洋艦到達葫蘆島第54軍軍部,部署錦、葫國軍增援錦州的作戰任務,他對眾將領說:「這一次戰爭關係重大,等華北2個軍及煙臺1個軍運到後,協同瀋陽5個軍夾擊攻錦州的共匪,然後接應瀋陽我軍主力到錦州,各將士的任務重大,幾十萬人的生命都交給你們負責,要以殺身成仁的決心,擊滅共匪」。蔣並交代「以後葫蘆島部隊歸侯鏡如司令官指揮,在侯未到以前,由闕漢騫統一指揮,向塔山、錦州攻擊。同時指定海軍司令桂清及第三艦隊司令馬紀莊指揮海軍以大炮擊毀塔山解放軍陣地,協助陸軍攻擊」。
1948年10月7日,乘重慶號返天津塘沽,蔣用白手套在艦上到處摸,發現有灰塵,氣得大罵海軍司令桂永清:「海軍腐化墮落成這樣,要亡國的」。10月10日起,國民黨東進兵團在空軍、海軍掩護下,輪番向塔山附近我東北野戰軍第四縱隊陣地發起正面強攻,至13日國民黨軍七天七夜的猛攻均被打退。這時,東野攻錦主力部隊的外圍戰鬥已結束,當天深夜,東北野戰軍參謀長劉亞樓下達了第二天總攻錦州的命令。
1948年10月14日凌晨6時,侯鏡如指揮部隊向塔山解放軍陣地發起狂衝,雙方展開了塔山阻擊戰,幾天來最為慘烈的陣地爭奪戰。東野第二兵團司令程子華向東總報告:「戰鬥異常激烈,部隊傷亡很大」。此時總攻錦州的命令尚未下達,塔山陣地已9次易手,如果在攻城戰鬥突破階段塔山失守,敵東進兵團將像潮水一般在一個小時內湧來,即可直逼錦州,攻城部隊將腹背受敵,這樣一來,不但整個遼瀋戰役的總計劃被打亂,東北野戰軍主力也將受到極端嚴峻的威脅,劉亞樓面對如此嚴峻的形勢猶疑了,這是關係到東北野戰軍幾十萬大軍生死存亡的事,林彪俯瞰桌上的地圖,眼睛緊盯著塔山這個幾乎看不見的小村落,果斷的向劉亞樓揮了揮手,示意下達總攻開始的命令。劉亞樓還未拿起電話,沉默了半天的林彪終於開口說話了:「告訴程子華,我只要塔山,不要傷亡數字」。
10月14日10時,我東野各集團向錦州城發起總攻,攻城部隊先以猛烈炮火集中射擊城牆及附近的敵工事,打開了缺口。11時左右,南、北兩個突擊集團在炮火的掩護和坦克的支援下發起猛烈衝擊,迅速突入城內,接著後續梯隊源源跟進向敵縱深發展進攻。在攻城中,東野各部採取穿插分割,迂迴包圍等戰術手段,以火力、爆破、突擊相結合的攻堅動作,對固守據點的敵人實施攻擊。次日拂曉前,各路攻城部隊先後在白雲公園、中央銀行地區勝利會師,殲滅了東北剿總錦州指揮所和第六兵團司令部,僅剩殘敵約1萬人固守老城。當日中午,第七縱隊及第二縱隊一部向該處敵發起攻擊,經過一下午的激戰,殘敵全部殲滅,錦州守將範漢傑化裝成農民逃跑,在半路被我軍抓獲,至此錦州之戰勝利結束。
廖耀湘率西進兵團進入遼西後,先後佔領了彰武和新立屯等地,錦州失守的消息傳來,原本準備夾擊錦州的廖耀湘不知所措。蔣介石於10月16日電令衛立煌迅速讓廖耀湘向錦州攻擊,試圖收復錦州,而衛立煌堅決不同意廖耀湘繼續西進,他認為解放軍的目的是圍城打援,決不能上圈套。10月18日,心急如焚的蔣介石飛往瀋陽,強命衛立煌部署軍隊收復錦州,衛立煌仍不同意,蔣當即臨陣換將,改派杜聿明指揮全局。而杜聿明也覺得收復錦州不大可能,拒不接受。就在這時,廖耀湘也從前線打來電話,要求撤退。蔣介石無奈之下,只得命令大軍後撤,可惜為時已晚。
在錦州攻克後,林彪立即判斷出援錦之敵很可能在半途退卻。根據軍委的指示,林彪決定採取攔住先頭、拖住後尾、夾擊中間、分隔包圍的戰法殲滅廖耀湘兵團。10月21日,廖耀湘兵團在得到瀋陽的重炮、裝甲部隊和新編部隊的加強後,在空軍掩護下,由新立屯等地猛攻我軍黑山、大虎山陣地。我第10縱隊等部浴血奮戰,打垮了敵整營、整團的多次衝擊,有些連隊只剩10多人,仍與敵頑強搏鬥,戰況異常猛烈。
由於廖耀湘兵團急於逃竄,對我軍黑山阻擊陣地的攻擊非常猛烈。23日林彪又電令負責黑山阻擊任務的第十縱隊,要求他們務必堅守最後三天,三天後廖耀湘西進兵團必遭全殲。當天9時,廖耀湘兵團向黑山、大虎山發起猛攻,東野將士頑強抗擊,經過三個晝夜的殊死戰鬥,我軍終於阻住了敵人強大的炮火襲擊,守住了黑山、大虎山陣地,使廖耀湘兵團失去了西進的可能,和南撤的寶貴時間。廖耀湘見連日攻擊,未能衝出我軍黑山阻擊陣地,遂於25日晚率部向東南營口方向撤退,行至臺安附近時,廖耀湘兵團忽然與東野的兩個師遭遇,雙方開戰後,風聲鶴唳的廖耀湘誤以為遭遇了共軍主力,立即向東撤回瀋陽,不料又被剛剛趕到的第六縱隊堵住,至此廖耀湘兵團十萬人馬全部陷入東野大軍的重重包圍,時間也恰好是林彪所預計的10天。
東野隨即展開了對廖耀湘兵團的大圍殲,採取邊合圍、邊分割、邊殲滅的戰法,並直搗其指揮中心,至10月28日拂曉遼西會戰結束,廖耀湘西進兵團全部被殲滅,廖耀湘化妝成南方商人逃跑,依舊被我軍偵察哨兵抓獲。當遼西會戰正酣之際,林彪又部署了圍攻瀋陽戰策。10月26日,林彪命令部隊由長春星夜兼程南下,切斷瀋陽之敵的退路。28日,遼寧軍區佔領遼河渡口,架橋準備大軍過河進軍瀋陽。11月1日拂曉,東野三支縱隊對瀋陽發起攻擊,在錦州、長春相繼失守後,據守瀋陽的國民黨部隊毫無鬥志,許多部隊一槍未放,排列整齊等候向解放軍投降。當天中午,第八兵團司令周福成和他的300名衛隊在銀行大樓放下了武器。11月2日,解放軍佔領瀋陽全城,同日又攻佔營口,至此遼瀋戰役結束東北全境解放。