Er stand zunächst in den Diensten von Sachsen-Gotha und wechselte während des Siebenjährigen Krieges im Jahr 1762 in preußische Dienste. Krafft wurde als Junker im Freidragonerregiment „von Kleist“ angestellt. Nach dem Krieg wurde er am 1. Dezember 1764 als Kornett in das Kürassierregiment „von Bredow“ übernommen. Dort wurde er am 10. Mai 1769 Leutnant und nahm am Bayerischen Erbfolgekrieg teil. In den folgenden Jahren stieg Krafft bis August 1789 zum Major auf und nahm als solcher 1794/95 am Feldzug in Polen teil. Dann am 17. Juni 1798 wurde er Oberstleutnant und am 16. Juni 1799 Oberst. Am 23. August 1802 rückte er zum Regimentskommandeur auf. Bei der Revue am 22. August 1804 erhielt Krafft den Orden Pour le Mérite und am 20. März 1806 wurde er zum Generalmajor mit Patent vom 4. Juni 1806 befördert. Am 19. August 1806 wurde er auch zum Chef des Dragonerregiments „von Voß“ ernannt und musste im gleichen Jahr während des Vierten Koalitionskrieges bei Prenzlau kapitulieren.