Tras servir como general de la caballería de Cataluña (1645-1649) y obtener victoria en Villafranca del Panadés y Montblanch (1649), fue nombrado (1653-1660), donde finalizó las obras de la catedral de México, y de regreso a España fue capitán general de la Armada (1662-1664) y teniente general de la Mar (1664), y custodió a Margarita de Austria hasta Trento para su matrimonio con Leopoldo I de Habsburgo.