五月十日清晨,海澄清军水师乘涨潮之机,率先发起进攻,一场规模空前的大海战拉开了序幕。
海澄的清军水师总共出动了四百多艘战船,直扑圭屿。圭屿位于厦门与海澄的交界处,岛屿周长约一里,清军水师一出动,郑军的侦察舰便发现其踪迹,并马上报告给郑成功。此时海水由涨潮变成退潮,郑成功见此时清军水师顺流而下,此时风向、潮流对郑军都不利,便派陈尧策前往传令各船:“不准起碇,泊定一条鞭,与之打仗,候潮平风顺,有令方准驾驶冲杀。”
在郑军舰船中,位置最靠前的是忠靖伯陈辉与闽安侯周瑞的坐船。周瑞在1653年援粤一役中,因坐失战机而被郑成功处罚,永不叙用,但在此大敌当头之际,陈辉力保周瑞,并与之携同作为郑军舰队的先锋。紧靠近陈辉坐船的是援剿右镇杨元标的铳船,这两艘战舰位于郑军舰队的最前方,因而也成为清军水师的首要攻击目标。
清军水师乘潮而下,前锋数十艘战船前来围攻陈辉与杨元标的船只。怎么办呢?如果郑军此时起碇迎战,那么在此退潮之时,战船很可能会被随潮水漂向外洋,如此一来,这场海战必败无疑。可是如果不起碇迎战,那么陈辉与杨元标这两艘船很可能在清军数十艘战船的围攻之下被击毁,怎么办呢?对郑成功来说,这是一次难以抉择的考验。
现在没有比保卫厦门岛这个抗清基地更重要的事了,虽然陈辉是郑成功最信任的战将,但此时容不得他考虑更多了,他仍然严令在潮水未平之前,不准起碇。
清军数十艘战船围攻陈辉、杨元标这两艘战船,其余的郑军船只只能在以炮火、弓箭支援。杨元标的铳船上有火炮,向清军猛烈开火,虽然击毙了许多清军,但是众寡悬殊,最后清军跳上铳船,杨元标战死,这艘船被清军所虏获。
另一艘战船的战斗情况更加惨烈。
忠靖伯陈辉在郑军海军中的地位是相当高,深孚众望,他与闽安侯周瑞激励士兵奋勇还击,清军十数艘战船轮番进攻,矢石如雨。在战斗中,闽安侯周瑞中箭身亡,前来传令的陈尧策也投入战斗中,英勇战死。此时清军的船只不断逼近,郑军士兵几乎伤亡殆尽