Après sa victoire à la bataille navale de Malte en 1283, Roger de Lauria provoque les Angevins en attaquant la côte calabraise à Naples et au Pausilippe. En l'absence de Charles Ier d'Anjou, le prince de Salerne réunit une escouade pour les contrecarrer[2].
Les alliés génois de Charles de Salerne ont rassemblé plusieurs grandes flottes de galères. Lauria décide d'attaquer les galères de Charles qui se trouvent à Naples[3].
Bénéficiant de l'obscurité à son arrivée au large de Naples, la veille de la bataille, Lauria capture deux galères provençales envoyées depuis Gênes par le père et allié de Charles, Charles Ier de Naples. Charles a reçu des ordres précis de rester au port et d'attendre ses alliés, mais son impétuosité prend le dessus sur sa réticence initiale et après que les galères de Lauria se soient approchées de près, les Napolitains sortent en file indienne et les repoussent vers le sud. Lauria feint de battre en retraite jusqu'à ce qu'il ait attiré une dizaine de galères près de Castellammare, puis fait volte face, formant une formation en croissant, et attaque la flotte de Charles par les côtés, où les galères sont les plus vulnérables. Surprises, les quinze à dix-huit galères napolitaines de Charles s'enfuient vers la ville, laissant les neuf à treize galères des équipages français se faire capturer. La galère de Charles est la dernière à être capturée et ne se rend que lorsque Lauria envoie des plongeurs par-dessus bord pour la couler. Charles est retenu prisonnier jusqu'à ce qu'Édouard Ier d'Angleterre intervienne et signe avec le roi d'Aragon Alphonse III le traité d'Oloron, le fixant les conditions de sa libération[2]. Charles II n'a été remis en liberté qu'après la signature du traité de Canfranc par les mêmes rois, le , et à la condition que Charles II laisse en Aragon trois de ses fils en otage.