1949年12月12日,蔣介石去教堂做禮拜,張群回到臺灣。張群告訴蔣介石,想到“雙十二事變”,張漢卿放總裁就堅信盧漢會放我回臺灣。蔣介石突然變臉:我誰都不學。下令第八軍、第二十六軍準備三天,16日進攻昆明。二野指戰員有情緒地說:我第三、第五兩個兵團多跑幾步路,成都就提前被我們解放了,劉伯承說:毛主席講過,接收成都任務由第十八兵團擔任,我第三、第五兵團指揮員非有命令不得進成都。賀龍部命令第十八兵團及第七軍第十九師加速南進,逼近成都。同時指示胡耀邦:大軍壓境前提下有可能采用和平方式解決問題,抓緊工作讓裴昌會兵團、李振兵團等放下武器,這樣會少死數以萬計人。宋希濂殘部逃到大渡河沿岸,軍隊就剩下不到五千人,劉鄧命第十六軍一三九團、第十八軍一五五團尾追,全殲殘敵活捉宋希濂。
宋希濂殘部在峨邊縣沙坪渡口乘坐木船過了大渡河,宋希濂剛走下木船,兩岸響起激烈槍聲,解放軍從山上沖下來,宋希濂被俘。1949年12月17日,國民黨第八軍、第二十六軍分東西兩路對昆明發起猛烈進攻,龍澤匯率九十三軍依據堅固城防工事,構成嚴密交叉火網,給敵人極大殺傷力。鑒于敵強我弱,盧漢決定縮短戰線,既可節約兵力,發揮城防工事作用,又可控制有力機動部隊以支援重點作戰。盧漢放李彌回去,說服第八軍撤軍,李彌要把部隊拉到滇西騰沖,湯堯未同意。19日,湯堯下達總攻令,中共云南地下黨組織、中共昆明市委以及學聯、工會發動工人、農民、學生組成“義勇自衛隊”,紛紛支援前線,盧漢所屬部隊愈戰愈勇,雖敵人連續發起攻擊,但始終未突破昆明城防。
為解昆明之圍,周恩來讓范子明再做余程萬的工作。余程萬表示決心策動第二十六軍起義。余程萬說服彭佐熙把第二十六軍撤到開遠、宜良,劉鄧車運第十七軍到曲靖抄第八軍后路,迫第八軍撤向開遠,昆明基本解圍,賀龍部第十八兵團進占綿陽,胡宗南命部隊向云南、貴州突圍。羅廣文率第十五兵團起義,陳克非率第二十兵團起義,裴昌會率第七兵團起義,李振率第十八兵團起義,楊漢烈率第二十軍起義,趙子立率一二七軍起義。到1949年12月27日,胡宗南軍事集團被徹底殲滅,蔣介石潸然淚下:九十萬軍隊不到兩個月就灰飛煙滅了。1949年12月30日成都解放,舉行隆重入城式。