Il commence sa carrière militaire durant la guerre de Trente Ans à l'âge de 20 ans comme capitaine de cavalerie. Il est nommé colonel en 1636 et major-général en 1638 et se distingue durant les batailles de Wolfenbüttel (1641) et de Leipzig (1642). En 1644, il commande une flotte et bat les Danois à Fehmarn le 23 octobre, avant de retourner en Allemagne en 1646 en tant que commandant en chef des armées suédoises, succédant ainsi à Lennart Torstenson. Il prouve sa capacité militaire en coordonnant ses mouvements avec son allié Turenne, avec qui il remporte la bataille de Zusmarshausen le . Après la signature des traités de Westphalie, il est nommé gouverneur-général de la Poméranie suédoise et le restera jusqu'en 1652, puis à nouveau de 1656 jusqu'à sa mort. Il est également élevé à la dignité de comte de Salmis (puis de comte de Sölvesborg en 1665).