Le 14 juin 1658 eut lieu la bataille des Dunes, qui opposa une armée franco-anglaise commandée par Turenne à une armée espagnole dirigée par Juan José d'Autriche, assisté du prince de Condé. Si la paix de Westphalie avait mis fin à la guerre de Trente Ans et rétabli la paix dans une grande partie de l'Europe, la France et l'Espagne demeuraient en guerre, faute d'avoir trouvé un accord satisfaisant.
La France, embourbée dans la Fronde, était restée sur la défensive entre 1648 et 1653, paralysée par ses dissensions internes et les révoltes successives des parlementaires puis des princes. À partir de 1654, les troubles ayant pris fin, Mazarin, revenu en grâce auprès du jeune Louis XIV, put reprendre une politique offensive afin d'achever la guerre engagée contre l'Espagne depuis 1635. Les campagnes de 1654 et 1655 furent consacrées à la conquête définitive de l'Artois. En 1656, les armées françaises tentèrent de s'emparer du Hainaut, mais Turenne subit une sévère défaite devant Valenciennes face à Juan José d'Autriche, gouverneur des Pays-Bas espagnols, et au prince de Condé, passé au service de l'Espagne depuis 1652 à la suite de l'échec de la Fronde.
Désireux d'en finir avec un conflit qui épuisait les finances du royaume, Mazarin consentit alors à une alliance avec l'Angleterre d'Oliver Cromwell. Si le sort réservé à Charles Ier lui inspirait un profond dégoût, le cardinal, à l'image de son mentor Richelieu, faisait passer les intérêts de l'État avant toute autre considération. Le 23 mars 1657, un traité d'alliance fut signé à Paris avec l'Angleterre, dans le but explicite de lutter contre l'Espagne.
Turenne reprit l'offensive durant la campagne de 1657, mais il fut arrêté devant Cambrai, dont la garnison refusa obstinément de se rendre. Contraint de lever le siège, il s'empara néanmoins de Saint-Venant puis de Mardyck le 3 octobre avant de prendre ses quartiers d'hiver, mettant un terme à la campagne. Si, dans le même temps, le marquis de La Ferté-Senneterre s'était emparé de Montmédy, les résultats de l'année demeuraient malgré tout modestes et décevants.
Grâce à un effort logistique et financier considérable consenti par Mazarin, Turenne put reprendre les opérations très tôt en 1658, prenant ainsi les Espagnols de vitesse. Le 15 mai, son armée se présenta devant Dunkerque et investit immédiatement la place. Dans le même temps, une puissante flotte anglaise commandée par le comte de Sandwich, Édouard Montagu, établit un blocus du port, coupant la ville de tout ravitaillement par mer.
Dunkerque était défendue par une garnison de 3 000 hommes commandée par Guillaume de Bette, marquis de Lede, et protégée par de puissantes fortifications, tant du côté de la mer que de la terre.
Alerté, Juan José d'Autriche consacra près d'un mois à réunir une armée de secours. Le 13 juin 1658, il arriva en vue de Dunkerque accompagné du prince de Condé, de Jacques et Henri Stuart, fils du défunt Charles Ier, et d'une armée d'environ 14 000 hommes. Pressé de secourir la ville et de faire lever le siège, il avait imposé à ses troupes une marche forcée. Son armée atteignit le champ de bataille épuisée, tandis qu'une partie de ses bagages et toute son artillerie se trouvait encore à l'arrière.
Prévenu par ses éclaireurs, Turenne laissa plusieurs bataillons poursuivre le siège afin de contenir toute sortie de la garnison. Avec environ 9 000 fantassins et 6 000 cavaliers, soit 15 000 hommes, il marcha à la rencontre des Espagnols.
L'affrontement eut lieu le 14 juin 1658 dans les dunes de Leffrinckoucke, à l'est de Dunkerque.
Turenne prit personnellement le commandement de l'aile gauche, composée de cavalerie. Au centre se trouvait l'infanterie franco-anglaise, déployée sur deux lignes. L'aile droite également composée de cavalerie était confiée au duc de Créquy.
Du côté espagnol, Juan José commandait l'aile droite faisant face à Turenne. Le centre, formé des tercios espagnols, wallons et italiens, était placé sous les ordres du marquis de Caracena, tandis que l'aile gauche revenait au prince de Condé.
Turenne ouvrit les hostilités par plusieurs salves d'artillerie. Disposant de deux batteries totalisant une dizaine de canons, il pouvait bombarder l'ennemi sans craindre de riposte, les Espagnols n'ayant pas encore amené leur artillerie sur le champ de bataille. Plusieurs frégates anglaises croisant près du rivage participèrent également au bombardement.
Au centre, l'infanterie franco-anglaise s'élança à l'assaut des positions espagnoles. Les régiments anglais gravirent les dunes et enfoncèrent les tercios espagnols après un combat acharné. L'infanterie française, notamment le régiment de Picardie et les Gardes françaises, repoussa quant à elle les tercios wallons et italiens qui occupaient des positions dominantes sur les hauteurs. Alors que les régiments anglais poursuivaient leur avance, ils furent chargés de flanc par Jacques Stuart, duc d'York. Menacés d'être taillés en pièces, ils furent sauvés par une puissante contre-attaque menée par l'énergique Jacques de Castelnau, qui rétablit la situation.
Pendant ce temps, Turenne observait attentivement l'évolution de la bataille. Il avait prévu que le reflux de la marée dégagerait un espace suffisant pour permettre à son aile gauche de manœuvrer. C'est précisément ce qui se produisit. À son signal, la cavalerie française s'élança et balaya tout ce qui lui faisait face. Juan José, incapable d'organiser une résistance efficace, vit son aile droite attaquée de front par Turenne tandis que les navires anglais la prenaient sous leur feu depuis le littoral. Il dut finalement ordonner la retraite avant d'être totalement enveloppé et battu.
Ne subsistait plus que l'aile gauche espagnole commandée par Condé. Celui-ci avait pris l'avantage sur l'aile droite française de Créquy, sans toutefois parvenir à la rompre. Informé de l'effondrement du centre et de la déroute de l'autre aile, il organisa un repli en bon ordre ce qui permit à une partie de ses troupes d'échapper à l'encerclement.
La bataille n'avait duré qu'environ deux heures. Les Franco-Anglais n'avaient perdu qu'environ 400 hommes. Les pertes espagnoles furent bien plus lourdes : près de 1 200 morts, 3 000 blessés et 5 000 prisonniers. La victoire était totale et consacrait une nouvelle fois le génie militaire de Turenne.
Le 25 juin, Dunkerque, privée de secours, de ravitaillement et de son gouverneur, mort le 23 juin des suites d'une blessure reçue pendant le siège, capitula. Espagnole le matin, française l'après-midi, elle devint anglaise le soir même lorsque Louis XIV la remit à ses alliés conformément aux clauses du traité de Paris.
Turenne ne se reposa pas sur ses lauriers. Le 1er juillet, il s'empara de Bergues après trois jours de siège, puis de Furnes le 4 juillet, de Dixmude le 5 juillet et enfin de Gravelines le 30 août. En quelques semaines, les dernières positions espagnoles de la région tombèrent les unes après les autres.
Vaincue sur le terrain et incapable de financer efficacement la lutte, l'Espagne de Philippe IV se résolut enfin à négocier. Ces discussions aboutirent à la signature de la paix des Pyrénées le 7 novembre 1659. Ce traité mit un terme à 24 années de guerre entre la France et l'Espagne et marqua le déclin définitif de la prépondérance espagnole en Europe, tandis que la France de Louis XIV s'affirmait désormais comme la première puissance du continent.