1944年4月中旬,中国远征军为策应缅北中国驻印军反攻作战,打通中印公路,颁发作战计划,以第20集团军为攻击军,强渡怒江,向高黎贡山及腾冲的日军攻击;第11集团军为防守军,固守怒江东岸原阵地,并由第一线各师分派加强团渡江作战,以策应攻击军。同时,以美军第14航空队(3个战斗机中队,2个轰炸机中队)配合作战。
1944年5月11日,中国远征军发起滇西反攻作战。11时,攻击军(第20集团军)首先以第54军第198师第594团于栗柴坝、孙足渡口渡过怒江,与原在怒江西岸之预备第2师游击营配合,攻占那瓦寨,并向北斋公房的日军警戒。19时,第一线兵团(第54军)之第198师主力由励古渡、水井渡;第36师(配属第53军第116师第346团)由康郎渡、励獭渡、缅臭渡、大沙坝、龙潭渡,在强大的空、炮火力和工兵支援下,分别强渡怒江。至12日拂晓,第一线兵团各部队均已渡过怒江。同时,防守军(第11集团军)方面为策应攻击军作战,以新编第39师加强团由惠仁桥、第88师加强团由打黑渡、第76师和第9师联合编成的加强团由罕拐渡,分别渡江,因行动隐秘,均未遭日军抵抗。渡江后,新编第39师加强团于13日攻占江木树;第76师和第9师联合加强团与第88师加强团合力夹击平夏街。13日,日军大部退向芒市,仅以一部固守平易街。新编第53师业已以1个加强团向滚弄方向攻击。
第54军右翼第198师主力渡江后,连克大寨、茶房,向北斋公房攻击。北斋公房位居高黎贡山险要,日军工事坚固,据险顽抗,第198师久攻不克,遂以一部正面监视,主力由两侧绕越,向马面关、桥头攻击。16日,该师在炮、空火力支援下,一举攻占马面关和桥头。21日,第198师主力对北斋公房再次发起攻击,日军第56师第148团1个营据险死守,双方形成对峙。
第54军左翼第36师(附第116师第346团)渡江后,即向大尖山、唐习山、鸡心山方面攻击。日军利用外围据点凭险死守。经3日苦战,第36师曾一度攻入鸡心山,但又被日军击退。13日10时,第20集团军令其第二线兵团第53军渡江,接替第36师任务。第53军第116、第130师于13日午夜,自第36师原渡江位置渡过怒江,至14日接替第36师向大尖山、唐习山等地攻击,第36师则在回恒山北则集结,原配属的第346团归还第116师建制。14日晨,第53军对大尖山、唐习山日军发起攻击,在优势炮、空火力支援下,于15日晨将上述日军据点攻克,并继续向江直街前进,沿途遭各据点日军阻击,战斗甚为激烈。日军所有据点均地势险要,第53军实施仰攻,牺牲甚大,遂在优势炮、空火力支援下,先以火力摧毁日军工事,再以步兵迂回敌后,包围攻击,苦战到6月21日,终将南斋公房、江直街等地攻克。
右翼方面,第54军第198师主力久攻北斋公房不克,陷入苦战。6月9日,日军第56师调集主力向北斋公房方面增援,突破第198师马面关、桥头阵地,与北斋公房日军取得联络。第54军急令第36师以一部监视瓦甸之敌,主力北攻桥头,协同第198师反击增援之敌,将日军击退。此时,第11集团军第6军预备第2师奉命赶来增援。6月14日,第198、第36师、预备第2师合力攻克北斋公房,16日再克马面关、桥头。残敌分经明光、瓦甸向腾冲退却。上述各部继续猛攻,预备第2师先后攻克明光、固东街,第36师攻克瓦甸。随后,第54军于龙川江东岸集结,准备向腾冲攻击。
在渡江各兵团展开攻击时,国民政府军事委员会鉴于中国驻印军开始攻击密支那,日军难以调兵增援滇西,遂于5月22日命令中国远征军,迅速攻占腾冲、龙陵,与驻印军会师缅北,打通中印公路。远征军司令长官奉令后,当即命令:第20集团军(辖第53军、第54军、预备第2师)为右集团军,仍按原计划攻击腾冲;第11集团军(辖第6军欠预备第2师、第71军、第2军)为左集团军,攻击龙陵,并限5月底以前完成攻击准备。
第11集团军于6月1日发起全面攻击。第71军(配属第6军新编第39师)自6月1日至3日,分别由惠通桥、毕寨渡、三江口附近渡过怒江。其新编第28师(欠第84团)于6月4日攻克腊勐,向松山进攻,久攻不下。第71军主力第87、第88师并配属第84团,沿毕(寨度)龙(陵)道路南侧地区向龙陵突进,于10日进抵龙陵近郊,并向龙陵日军发起攻击。龙陵日军据守城内、外据点抵抗,双方陷入苦战。此时,日军约1500人自腾冲方面沿腾龙公路向龙陵增援,15日越过龙川江。第71军以第87师主力迎击,双方激战于龙陵北侧地区,反复肉搏,双方伤亡均大。同时芒市方面日军约600人,也向龙陵增援,与新编第28师第84团激战于放马桥附近。该股日军主力虽被第84团阻击,但其一部仍进入龙陵城。第11集团军乃下令停止攻击,并向后转移阵地,准备尔后再次攻击,又令新编第39师由龙江桥经三甲街向龙头街进击,掩护军之右翼。18日,由各方面集中于龙陵的日军约有5000余人,并于21日向第71军反击,战斗激烈,双方形成对峙。
6月下旬,远征军司令长官部得知:缅北的中国驻印军正增加兵力向密支那攻击。腾冲方面的日军已以一部增援龙陵。第20集团军已进抵江直街、固东街、大龙井,并已完成对腾冲的攻击准备,即电令第20集团军分兵3路,主力保持在右,向腾冲攻击。
第20集团军奉令后,立即调整攻击部署:令第54军(欠第198师)附预备第2师于26日前到达顺江街及其以东地区,再沿顺江街、腾冲道推进,驱逐日军警戒部队,先攻占宝凤山、来凤山,再协同第53军对腾冲实施包围攻击;令第53军立即派兵一部占领杭励山,其余各部队于26日前,在千榨山、打豆山、龙川江右岸地区沿打豆山、观音寺向蜚凤山攻击,再以1个团沿龙川江左岸南下,渡过龙川江后,随军主力进展,向飞凤山攻击。攻占各据点后,再协同第54军包围腾冲,攻击而占领之。第198师为集团军预备队,先在瓦店集结,等第53军挺进后,再进至江直街待命。
6月25日,第54军和第53军分别自龙川江西岸、清水河南岸向腾冲推进。28日,第20集团军令已进至宝凤山北端之线的第54军主力沿公路以西地区,先攻占宝凤山、来凤山,再协力第58军攻击腾冲城。29日,集团军各部队已迫近腾冲外围据点。7月2日,第20集团军以左翼为重点开始攻击。日军据守外围飞凤山、观音堂、来凤山等险要坚固据点顽抗,攻击进展迟缓。至16日,集团军以第36师主力向来凤山方面增加兵力,并增加炮兵火力,在空军支援下,经10天激战,终于27日将来凤山攻克。第53军方面已将飞凤山攻克,随即向腾冲城进迫。至此,腾冲外围据点全部夺取,残余日军退入城内固守。
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日,中美两军高级将领在畹町举行会师典礼。至此,滇西反攻作战胜利结束,中国远征军陆续回国。