Commandant la d'infanterie du corps expéditionnaire au Mexique le , son action est décisive lors de la prise de Puebla en 1863. Comme conséquence, il est cité puis est nommé à la tête du corps expéditionnaire en remplacement de Forey. Il reçoit encore une citation à la bataille de San Lorenzo et les insignes de grand-croix de la Légion d'honneur, le . Il est élevé à la dignité de maréchal de France et de sénateur du Second Empire par décret impérial du . Il commande en personne le siège d'Oaxaca en , à la suite de quoi, l'empereur le complimente et le décore de la médaille militaire, le .