Karl Gustav krigene
I slutningen af 1650’erne kom Danmark-Norge og Sverige endnu engang i krig mod hinanden. Det begyndte med en dristig krigserklæring fra dansk side og endte med tab af store og værdifulde dele af rigerne. Med hjælp fra Danmarks allierede lykkedes det dog at forhindre, at hele landet kom under den svenske krone.
Første Karl Gustav-krig, 1657-58
I sommeren 1657 erklærede Frederik 3. krig mod Sverige. Sverige havde hænderne fulde med deres egen krig i Polen, så det virkede som et gunstigt tidspunkt for Danmark-Norge. Da den svenske kong Karl Gustav hørte om krigserklæringen, fik han dog med lynets hast trukket sine tropper ud af Polen. Den svenske hær angreb Danmark sydfra og kæmpede sig op gennem Holsten, Slesvig og Jylland. V
interen blev nu så kold, at vandet i de danske bælter frøs til is. Den svenske hær kunne derfor uhindret gå over Lillebælt, hvorefter de nedkæmpede den danske modstand på Fyn. Herefter marcherede svenskerne over Storebælt til Lolland og videre mod Sjælland. Med svenskerne foran Københavns porte, så en panikslagen dansk regering ingen anden udvej end at slutte fred. 26. februar 1658 blev freden i Roskilde underskrevet. Danmark-Norge måtte afstå Skåne, Halland, Blekinge, Bornholm, Trondhjem len og Bohuslen til Sverige.
Anden Karl Gustav-krig, 1658-60
Roskildefreden blev kort. Den svenske konge fortrød, at han ikke havde givet Danmark dødsstødet, og 11. august 1658 bankede en svensk hær endnu engang på Københavns porte. Denne gang ville danskerne ikke overgive sig så let.
Byens forsvar blev bragt i stand, og man gjorde sig klar til at kæmpe. Samtidig var hjælpen på vej fra Danmarks allierede. Polen og Brandenburg sendte hærstyrker til Jylland, og Nederlandene sendte en flåde mod den belejrede danske hovedstad.
Belejringen af København
Svenskerne belejrede København i omkring et halvt år. Det var en lang og sej periode, der især hen mod slutningen var præget af kulde og hårdt vejr. Københavnerne levede i en konstant frygt for angreb, og for at forsyningerne skulle slippe op.
Belejringen blev intensiveret, da Karl Gustavs soldater erobrede Amager og indledte et bombardement af byen. Danskerne holdt dog stand, og sidst på efteråret nåede den nederlandske flåde endelig frem med 2.000 soldater. Det styrkede både forsvaret og moralen.
Et stormangreb var nu reelt svenskernes eneste mulighed for at erobre København og tvinge Danmark i knæ.
Stormen på København
Natten mellem 10. og 11. februar 1659 stormede den svenske hær København. I spidsen for tætte stormkolonner gik soldater klædt i hvide kjortler for at komme usete frem.
Da svenskerne dukkede op ude på isen foran Slotsholmen, blev de mødt med en hurtig og velrettet ild. Alligevel fortsatte angriberne. En mindre skare nåede frem til voldene, og enkelte svenske soldater nåede op på voldene.
Men striden blev kort. Det var ikke muligt for svenskerne at overleve det inferno af ild og sværdspidser, som mødte dem. I den gryende morgenstund flød hundredvis af dræbte og sårede angribere i issøer. Ved daggry måtte Karl Gustav erkende sit nederlag og trække sine soldater tilbage.
Sejr og fred
Efter den mislykkede storm på København genoptog svenskerne belejringen og erobrede de danske øer syd for Sjælland. Derimod tabte de hele Jylland. Med støtte fra de allierede, erobrede danskerne herefter Fyn tilbage og besejrede den svenske hær i slaget ved Nyborg 14. november 1659. Herefter ebbede krigen ud.
Fredsaftalen kom til at ligne den fra 1658. Trondhjem len og Bornholm kom dog tilbage under den dansk-norske krone