I lyset af den forestående krig mod Sverige ønskede den danske regering at rekruttere den erfarne og velrenommerede Schack til en ledende stilling i den danske hær. For at imødekomme Schacks krav om en permanent stilling blev han i 1658 udnævnt til generalløjtnant, oberst for hest og fod, og blev medlem af krigsrådet. Han blev også naturaliseret som dansk adelsmand og modtog to herregårde gratis for livet; Riberhus og Møgeltønder (det senere Schackenborg Slot). Som militærguvernør kommanderede Schack København under den svenske belejring
af 1659. For sit succesfulde forsvar af byen blev han belønnet med forfremmelse til feltmarskalk. I efteråret samme år førte Schack de danske styrker til sejr over svenskerne i slaget ved Nyborg.