De oorlog werd ook op zee uitgevochten. Op 1 juni 1676 verpletterden de Nederlandse en Deense vloot onder commando van opperbevelhebber Cornelis Tromp in de Zeeslag bij Öland de Zweedse vloot, waarbij een van de grootste schepen uit die tijd, de Zweedse "Kronan" ("De Kroon") tot zinken werd gebracht. Met deze overwinning kregen de Denen totale controle over de Oostzee. Deze controle werd een jaar later nog eens bevestigd, toen de Deense vloot onder leiding van Niels Juel de Zweden opnieuw wist te verslaan in de Slag in de Baai van Køge (1677) vlak bij Kopenhagen. De Zweden verloren 3000 man tijdens deze slag, terwijl Denemarken slechts 375 slachtoffers had. De Deense en Nederlandse successen op zee hinderden de Zweden om troepen tussen Zweden en Noord-Duitsland te verplaatsen.