7月27日起,第20集團軍進行攻城準備。8月2日,空軍對騰衝城開始轟炸。此時,各攻城部隊在炮、空火力支援下,向城垣發起攻擊,經兩日激戰,奪占城垣及城外堡壘7個,但未能突入城內。此後,攻城部隊進行坑道作業,實施敵前爆破,空軍不斷對騰衝城進行轟炸。8月15日,第20集團軍調整部署後,再次對騰衝城發起總攻,戰至21日,將城垣之日軍大部殲滅。城南方麵第36、第198、第116師先後攻入城內,自南向北逐巷逐屋攻擊,與日軍展開激戰,反複爭奪,直至9月14日,城內日軍全部被殲,日軍代理團長及部分官兵於彈盡援斷後絕望自殺。
左集團軍(第11集團軍)方麵,由遠征軍總預備隊第8軍接替圍攻鬆山的新編第28師的任務,第11集團軍再度向龍陵發起攻擊。
8月14日,第11集團軍第71軍再次向龍陵發起攻擊,激戰至26日,一部突入龍陵市區,城內日軍約三四百人仍死守核心據點,拚死抵抗。第2軍對平易的攻擊也進展甚微。芒市方麵的日軍,自8月中旬以來,從其國內得到約2000人的兵員補充,並由臘戍、南坎方麵調來第2師第16團及第4團各一部,其兵力達6000餘人。自27日起,芒市日軍主力沿芒(市)龍(陵)公路突進,打通了由芒市到龍陵的交通線。龍陵日軍得到補充後進行反撲,並奪回部分外圍據點。9月上旬,中國第5軍第200師從昆明適時趕到,立即加入戰鬥,同時在騰衝方麵作戰的第36師也由騰衝南下參加戰鬥。經3晝夜激戰,日軍被迫退回芒市。23日,平易日軍向芒市撤退,第76師收複平易。滇西殘餘日軍固守龍陵、芒市頑抗。
此時,圍攻龍陵的中國遠征軍部隊除第71軍外,第200師、第8軍榮譽第1師、第20集團軍第36師,均已參加該方麵的作戰。上述部隊統由第71軍軍長鍾彬指揮。10月25日,遠征軍再向龍陵發動統一攻擊,至11月6日,龍陵外圍據點及市區全部被攻克,日軍大部被殲,僅少數向芒市退去。
中國遠征軍攻克龍陵後,遠征軍司令長官部鑒於滇西日軍已大部被殲,其潰退之部已成強弩之末,並且中國駐印軍正在向南坎進逼,日軍已無力向滇西增援。為迅速打通中印公路,與駐印軍會師,於是以第2軍、第71軍(附第200師)及第53軍,沿滇緬公路及其兩側分3路向芒市、遮放進攻。
第71軍(附第200師)於17日開始攻擊,經3日挺進,攻抵芒市近郊,據守芒市的日軍,為滇西日軍各師、團殘部。芒市工事雖然堅固,但日軍士氣低落,毫無鬥誌。當第71軍逐漸形成包圍圈時,日軍分向遮放、孟力戛撤退,芒市遂被收複。21日,遠征軍以第6軍接替第71軍,於11月底進至遮放。第2軍連續擊破孟力戛、蠻牛壩日軍的微弱抵抗後,於12月中旬進抵孟力古街附近。第53軍於11月15日由河頭街地區沿芒市、遮放道路西側向遮放挺進,18日進抵來勞山附近地區,稍事整頓,旋即經遮放繼續向畹町推進。1945年1月上旬,3路攻擊軍進抵畹町附近,並展開圍攻。24日,擊潰殘餘日軍,占領畹町。第11集團軍當即越過國境,分途追擊。1月27日,中國遠征軍與中國駐印軍在芒友勝利會師。中國西南國際補給線中印公路完全打通。滾弄方麵的日軍撤向緬甸中部,新編第38師將滾弄收複。1月28日,中美兩軍高級將領在畹町舉行會師典禮。至此,滇西反攻作戰勝利結束,中國遠征軍陸續回國。