Midt på 1650-tallet førte svenskene et felttog mot Polen, uten å lykkes. Nå så kong Fredrik III sjansen til å hevne seg for Brømsebro-freden og erklærte krig mot Sverige i to omganger i slutten av 1650-årene, de såkalte Karl Gustav-krigene. Men det var svenskene som kom på offensiven. Vinteren 1657-58 frøs sjøen mellom de danske øyene, og svenskene marsjerte til Danmark og erobret Fyn og gikk i land på Sjælland. Ved freden i Roskilde måtte Danmark-Norge avstå enda mer land, blant annet Skåne, Halland og Blekinge fra Danmark, og Båhuslen og Trondheims len fra Norge. Dermed ble Norge delt i to.