In magistratura dal 1979, vi ha svolto le funzioni di Giudice, Pretore, S. Procuratore della Repubblica, S. Procuratore Nazionale Antimafia. Procuratore aggiunto presso la Direzione Nazionale Antimafia, Procuratore della Repubblica a Bologna e Procuratore Generale a Milano. È stato inoltre, per oltre dieci anni, componente della Commissione Centrale per i programmi di protezione dei collaboratori di giustizia. È in pensione dal 2020.