Han var søn af oberst Mogens Krag i dennes andet ægteskab med Helvig von der Kuhla. Han gik ganske ung i fransk tjeneste og steg der til kaptajnløjtnant ved et tysk regiment; som sådan fik han 1696 kaptajns karakter ved den danske Fodgarde, hvor han, da han året efter vendte hjem, fik kompagni. 1701 drog han med hjælpetropperne til Nederlandene, deltog der i syv års felttog og blev oftere anvendt til særlige hverv, navnlig efter at han 1703 var forfremmet til oberstløjtnant ved 1. Bataljon af Sjællandske Regiment. 1708 blev han forsat til Ungarn som oberst for et af de i kejserens tjeneste stående danske regimenter og førte det året efter hjem. Han var siden med i Pommern 1711 (samme år udnævnt til brigadér), i Mecklenburg 1712 (såret i slaget ved Gadebusch 20. december og kort efter interimskommandant i Frederiksort), ved Tønning 1713 (var med at afslutte kapitulationen i Oldenswort 16. maj) og ved Wismar 1716. Efter denne fæstnings erobring blev Krag dens kommandant og tillige generalmajor. Han blev Hvid Ridder 1721 og byttede i februar 1724 sit regiment med kommandantskabet i Glückstadt, men døde 21. august samme år.