Etter Christian IVs død havnet Danmark-Norge i en enda mer katastrofal krig mot Sverige. Den danske flåten hadde overmakten til sjøs, slik at den svenske hæren i stedet invaderte Danmark fra sør. En usedvanlig kald vinter gjorde det mulig for de svenske troppene å krysse Storebælt og angripe København direkte. Bare ved at borgerne holdt ut, kombinert med nødforsyninger fra Nederlandene og (etter sigende) kongens personlige mot, unngikk Danmark byens fall og dermed at hele landet ble erobret. Ved freden i Roskilde i 1658 måtte Danmark avstå de gjenværende rike landsdelen øst for Øresund, Skåne og Blekinge, og for en kortvarig periode også Bornholm. Norge måtte avstå Båhuslen og Trondheim len, men det siste ble gjenerobret to år senere. Fredsavtalen forhindret imidlertid ikke den svenske kongen i ennå et forsøk på å innta København.