中方认为南越4号“陈庆瑜”舰是其舰队的旗舰
中方猛攻4号舰与16号舰,认为它们分别是处于两地的南越军舰中的指挥舰。而一直到海战之后,中方都认为4号舰是整个南越舰队的旗舰。实际上中方的情报还是很准确的,直到18日4号舰都是南越的旗舰,但19日早上由于南越舰队指挥官的变更,5号舰变成了旗舰,这是中方所没有想到的。
中方271、274艇的火力,专朝南越4号舰的主炮、火控、通讯与指挥系统倾泻,尽管有5号舰的救援,该舰还是被打的通讯中断、指挥失灵,舰上冒起了浓烟。与此同时南越军舰也拼命开火向中方射击,大口径炮打不了近的就打远处的中国舰艇,以支援同伴。由于中方舰艇和敌人相距太近,不少越军火力都打到自己的军舰上,南越各舰都挨了自己人的炮弹。
南越海军的10号舰为了解救正被中方396、389两艇围攻的16号舰,向389艇冲来并猛烈射击。被敌两面夹攻的389艇多处中弹,6名官兵阵亡,艇上燃起大火,但仍英勇战斗,与396艇一道调转炮口,向10号舰还击,并向该舰冲去。10号舰被击中弹药舱,爆炸起火。389艇此时弹药也已用完,仍然奋力前进,直冲到与10号舰几十米处,中国水兵抄起火箭筒、冲锋枪,向10号舰甲板舱面一通猛射(该批武器本来是运给中方驻岛民兵的,由于18日夜里风浪太大,没能送上岛)。战斗中南越10号舰舰长被击毙。
南越16号舰想要前来搭救10号舰,却被中方396艇拦截攻击。16号舰先前发动机舱水线下中了自己5号舰一发127mm炮弹(幸亏该炮弹没有爆炸,否则越军首先将自己的舰打沉一艘),后来又受到中方两艇夹功,此时其通讯、控制和供电系统都已失灵,舰体倾斜20度(当它后来回到南越军港时已倾斜到了40度,只乘一部主机还能工作),无法继续作战,于是转头逃向外海。