萬山群島位於珠江口外,扼廣州門戶。敗退的國民黨海軍與原駐守該群島的地方部隊組成“萬山防衛區”,轄艦艇30艘、1個陸戰團等共1900人,由國民黨海軍第3艦隊司令齊鴻章指揮,企圖控制萬山,封鎖海口,阻止人民解放軍解放萬山群島。
人民解放軍登入部隊為中南軍區第44軍的第 131師2個步兵團,華南江防艦隊艦艇16艘,運輸船8艘,並配屬炮兵一部。登入作戰的指導思想是:乘守軍立足未穩,迅速集結,積極準備,力爭早打快打;首先使用艦艇部隊利用夜航奔襲其泊地,實行近戰、夜戰,將其打亂,掩護登入部隊登入前沿各島,爾後逐島攻擊,將其全殲。
5月 25日 2時,登入隊和火力支援隊由唐家灣隱蔽出航。拂曉前,擔負火力支援任務的“解放”號炮艇和“桂山”號登入艦首先突入垃圾尾港內,對國民黨海軍艦艇實施猛烈襲擊,擊沉其炮艇1艘,重創“太和”號護衛艦(旗艦),擊傷登入艦、掃雷艦各1艘。齊鴻章被擊重傷,其餘倉皇撤逃。同時,“先鋒”號和“奮鬥”號2炮艇,在牛頭島以東海域與國民黨艦艇遭遇,展開近戰,又擊沉其炮艇2艘。登入部隊先頭2個營在小青洲、三角山等島登入。垃圾尾守軍傷亡慘重,乘夜撤逃。26~28日,登入部隊相繼占領牛頭、垃圾尾、蜘洲、大碌、大頭洲等島。
28日,國民黨海軍又從台灣增援護衛艦、登入艦各2艘、掃雷艦4艘和炮艦數艘,連日在小青洲、牛頭以北海域游弋,炮擊已占各島的登入部隊和運輸船隊。30日下午,登入三角山、大頭洲的炮兵,擊傷國民黨軍艦3艘。30日至6月5日,登入部隊占領東澳和大、小萬山等島,迫敵退守三門、外伶仃、擔桿各島。國民黨軍從台灣續援之“信陽”號驅逐艦和炮艦數艘,瀕抵三門海域游弋。登入部隊於26日夜,突襲並占領三門,連夜部署火炮艦艇和陸炮進入隱蔽發射陣地,27日5時許,以猛烈的火力,襲擊國民黨艦艇泊地及其游弋艦艇,再擊沉其炮艇 1艘,擊傷掃雷艦 3艘、護衛艦和驅逐艦各1艘。登入部隊於7月1日占領外伶仃,8月3日登入擔桿列島。
解放萬山群島戰鬥歷時71天,人民解放軍共斃傷俘國民黨軍700多人,擊沉、擊傷敵艦艇16艘,繳獲艦船11艘。