Nato a Cagliari nel 1960, è in magistratura dal 1986.
Nei primi anni ha svolto funzioni di giudice al Tribunale di Lecco.
Dal 1993 è giudice penale al Tribunale di Milano, fino al 2006 quale giudice a latere della Corte d’Assise,
Dal 2006 svolge funzioni di giudice in una delle sezioni di criminalità economica, della quale dal 2015 ha assunto le funzioni di presidente. Contemporaneamente è presidente della Corte d’Assise di Milano.
Per alcuni anni è stato formatore nel Comitato scientifico del CSM e consigliere nel Consiglio Giudiziario di Milano