Il refuse l'Armistice et rejoint dès l'été 1940 le Bataillon d'infanterie de marine, première unité française libre. Il prend part à la campagne de Libye contre les Italiens en , puis aux conflits en Érythrée et en Syrie en 1941. Il se distingue ensuite le à la bataille de Bir Hakeim. Le général de Gaulle lui remet la croix de la Libération le , à Beyrouth. Au sein du Bataillon d'infanterie de marine et du Pacifique (BIMP), il combat successivement à El Alamein, à la Ligne Mareth et au Djebel Garci, puis à Girofano, Rome et Radicofani lors de la campagne d'Italie (1944).