Revenu en France pour cause de santé, il combat courageusement aux batailles d'Engen, de Moeskirch, de Biberach, de Marengo et au passage du Mincio. Il demeure néanmoins capitaine pendant quatorze années. Ayant été blessé en Calabre sous les ordres du général Masséna, il est enfin nommé chef de bataillon en 1807, et dix-huit mois plus tard, colonel sur le champ de bataille de Wagram (5-6 juillet 1809). Le 9 mai 1811, Napoléon le fait chevalier de l'Empire. Lors de la campagne de Russie en 1812, il devient chef d'état-major général du prince Eugène de Beauharnais, qui remarque sa conduite à la bataille de la Moskowa, le 7 septembre.