Mimo znaczącej przewagi, nieprzyjaciel popełnił błąd nie atakując zdecydowanie i przez następny dzień obie eskadry manewrowały dla osiągnięcia lepszej pozycji wyjściowej. Nie będąc w stanie podjąć dłuższego pojedynku artyleryjskiego, Napier postanowił skoncentrować swój atak na największych jednostkach przeciwnika i zdobyć je abordażem. Cisza morska, jaka zapanowała 4 lipca, umożliwiła mu podjęcie ataku, ponieważ eskadrze towarzyszyło kilka parowców, które mogły podholować jego okręty do unieruchomionego przeciwnika; ich dowódcy nie chcieli jednak narażać swych jednostek i odpłynęli, co udaremniło plan.
5 lipca powiała silna bryza i doszło do bitwy. Okręty Napiera zdecydowanie zaatakowały uformowanego w szyku liniowym nieprzyjaciela i mimo silnego ognia zdołały doprowadzić do abordażu i walki na pokładach. Obydwa liniowce, okręt pięćdziesięciodziałowy, fregata i 18-działowa korweta zostały zdobyte, a druga korweta i dwa brygi ratowały się ucieczką (choć jeden z nich powrócił i poddał się dnia następnego). Straty w ludziach wyniosły ok. 90 rannych i zabitych, siły miguelistów utraciły ok. 200–300 rannych i zabitych.