Ufficiale dell'esercito piemontese, combatté a Novara (1849), poi fu Capo di Stato Maggiore di Garibaldi nella II Guerra d'Indipendenza, raggiunse i Mille in Sicilia e combatté a Milazzo, dove fu ferito; nel 1862 era ancora con Garibaldi all'Aspromonte e nella III Guerra d'Indipendenza (1866) partecipò alla
battaglia di Monte Suello, meritando la medaglia d'oro al V.M. Nel 1880 fu nominato senatore.