Charles X est le fils du comte palatinJean-Casimir de Deux-Ponts-Cleebourg et de Catherine Vasa, la fille aînée du roi Charles IX de Suède. Il monte sur le trône en 1654, après l'abdication de sa cousine germaine Christine. Sa première tâche en tant que roi est de restaurer les finances de son royaume. Il impose alors la « Réduction », obligation pour les nobles de rendre certaines terres à la Couronne et de payer un impôt annuel.
En 1655, Charles X déclare la guerre à la Pologne, dont le roi, Jean II Casimir, descendant du roi Jean III de Suède, protestait contre son avènement : c'est le début de la première guerre du Nord. Il remporte la bataille de Varsovie, qui dure trois jours (28 – ), et s'empare de toute la Pologne en moins de trois mois, donnant lieu à ce que l'historiographie polonaise appelle « le Déluge ».
L'année suivante, le roi de DanemarkFrédéric III déclenche une offensive contre la Suède, dont l'essentiel des forces se trouvaient alors engagées en Pologne avec Charles X à leur tête. Ce dernier, plutôt que de revenir en Suède, choisit de répliquer en attaquant le Danemark par le sud. Durant l'été et l'automne, il soumet le Holstein, le Schleswig et le Jutland, et le , servi par un hiver exceptionnellement rigoureux, il traverse à pied sec le Petit Belt pris par les glaces avec 9 000 cavaliers et 3 000 fantassins, et s'empare de la Fionie. De là, il passe le Grand Belt en progressant d'île en île, débouche sur l'île capitale de Seeland le , et arrive le en vue de Copenhague, pratiquement non défendue. Vaincu, le roi danois est forcé à traiter. Charles X lui impose le traité de Roskilde (1658), par lequel la Suède acquiert tous les territoires danois du Sud de la péninsule scandinave, dont la Scanie, outre deux provinces norvégiennes, et qui consacre la Suède comme puissance scandinave dominante.
Poussant l'avantage, Charles X, qui ambitionne de constituer un empire du Nord, prétexte que le traité n'a pas été exécuté, reparaît bientôt devant Copenhague et livre l'assaut, mais il est repoussé. Il convertit le siège en blocus et prépare une nouvelle attaque lorsqu'il tombe malade en janvier 1660 ; après plusieurs semaines de maladie, Charles X meurt d'une pneumonie aiguë à Göteborg, le 13 février suivant.