Датчане, объявляя войну Швеции, надеялись воспользоваться затруднительным положением Карла X и отобрать у него то, что было уступлено Швеции по миру в Бремзебро, но обманулись в своей надежде. В то время как датский король ждал шведов с моря, шведские войска летом 1657 года вторглись из Гольштинии в Ютландию и без труда завоевали ее; в феврале 1658 года сам Карл X перевел свое войско на остров Зеландию.

Но, как скоро шведы вследствие датской войны очистили Польшу, курфюрст Бранденбургский, видя слабость прежнего союзника, перешел на сторону Польши и Дании; благодаря посредничеству императора и Польша по договору в Велау признала независимость Фридриха-Вильгельма как герцога Прусского. Карл X, угрожаемый со всех сторон врагами, заключил для виду мир с Даниею в Рёскильдё (конец февраля 1658 года), но не вывел своих войск из датских владений и в том же году объявил снова войну. Копенгаген был осажден, но отлично защищался: король Фридрих III, сын его Христиан и горожане не знали покоя ни днем, ни ночью; а между тем голландский флот подоспел к ним на помощь. Голландцы могли бы истребить шведский флот, но удержались, потому что им было выгодно держать морские силы прибалтийских государств в равновесии; если они теперь вооружились против Швеции, то именно для того только, чтоб не дать ей господства на северных морях.

В феврале 1659 года Карл X решился штурмовать Копенгаген; но штурм был отбит благодаря помощи, которую оказали осажденным голландцы, которых корабли обмерзли в Копенгагенской гавани, и матросы сошли с них, чтоб биться с шведами. Сильное участие голландцев в войне и выгоды, которые они могли получить от этого, возбудили зависть в англичанах и французах. Англия, Франция и Голландия соединились в 1659 году, чтоб заставить шведов и датчан помириться. С другой стороны, на помощь Дании явились императорские и польские войска; знаменитый голландский адмирал Рюйтер перевез их вместе с датскими войсками на остров Фионию, где в ноябре 1659 года союзники, пользуясь своею многочисленностию, истребили шведский корпус, состоявший из отборных солдат Карла X.

Неудачи заставили Карла X согласиться на мир, предложенный Франциею, Англиею и Голландиею. Мир заключен был в Оливе, недалеко от Данцига, в мае 1660 года между Швециею, Польшею и Бранденбургом: все завоеванное друг у друга было возвращено, Польша отказалась от своих притязаний на Лифляндию, и король польский – от своих прав на шведский престол; немного спустя заключен был мир в Копенгагене между Швециею и Даниею, по которому Швеция приобрела датские провинции Шоонен, Голланд и Блекинген, но возвратила Дании полученные по Рёскильдскому миру норвежскую провинцию Дронтгейм и остров Борнгольм. Карл X не дождался заключения этих миров: он умер в феврале 1660 года.