Po forsownym marszu na Zelandii armia szwedzka 25 lutegoData po przeliczeniu podawanej przez większość źródeł daty 15 lutego 1658 na kalendarz gregoriański. znalazła się pod murami Kopenhagi. Nagłe pojawienie się wojsk wywołało wśród Duńczyków panikę, potęgowaną przez brak przygotowania stolicy do obrony – skutek zaskoczenia dowódców duńskich, niespodziewających się wroga o tej porze roku; Duńczycy przystąpili do rozmów kapitulacyjnych.

Koniec wojny 8 marca 1658 rokuData po przeliczeniu podawanej w większości źródeł daty 26 lutego 1658 roku na kalendarz gregoriański. król Fryderyk III i podpisał niekorzystny dla Danii, będący skutkiem przegranej wojny traktat z Roskilde.

Zwycięstwo przyniosło Szwedom największe w historii duńsko-szwedzkich zmagań zdobycze. Dania została zobowiązana do przekazania Szwecji trzech prowincji – Skanii, Halland i Blekinge oraz wyspy Bornholm. Halland i Blekinge były już pod szwedzką kontrolą na mocy traktatu zawartego w 1645 roku w Brömsebro, jednak dopiero teraz prowincje te definitywnie stały się częścią Szwecji. Ponadto Dania musiała oddać Szwecji należące do Norwegii prowincje Bohuslän (na południu) i Trøndelag (w środku Norwegii). Większość przyznanych Szwecji obszarów to były tereny od wieków sporne między obu krajami.