Am 1. Juli 1657 erklärte Friedrich Schweden den Krieg. Er hoffte damit die im Torstenssonkrieg 1645 verlorenen Gebiete zurückzugewinnen. Die Gelegenheit dazu schien im Sommer 1657 günstig, da er den schwedischen König durch den Krieg in Polen beschäftigt glaubte. Dieser hatte am 20. Juni 1657 in der Schlacht bei Czarny Ostrów den Verlust seines Trosses hinnehmen müssen. Karl X. Gustav verließ sofort den polnischen Kriegsschauplatz und marschierte am 30. Januar 1658 über das Eis des Kleinen und Großen Belt in Dänemark ein und bedrohte Kopenhagen. Unterstützt wurde er von Herzog Friedrich III. von Schleswig-Holstein-Gottorf, der zusammen mit seinem Kanzler Johann Adolph Kielmann von Kielmannsegg die Abhängigkeit des Herzogtums Schleswig-Holstein-Gottorf von Dänemark beenden wollte. Geldmittel erhielt er von Corfitz Ulfeldt. Friedrich, der nicht mit einem Angriff auf Seeland gerechnet hatte, musste bereits am 28. Februar 1658 in den Frieden von Roskilde einwilligen, wodurch er Schonen, Halland, Blekinge, Bohusland, die Inseln Bornholm und Hven und das Stift Drontheim an Schweden abtreten und die Souveränität des Herzogs von Schleswig-Holstein-Gottorf anerkennen musste.