Giornalista dal 1981, ha lavorato al settimanale umbro La Voce, al Corriere dell'Umbria, per la catena di quotidiani locali La Gazzetta e al Tempo di Roma, come inviato e capo della redazione politica. Passato nel 1994 ad Avvenire, ne è stato a lungo caporedattore e infine vicedirettore. Dal settembre 2009 è il direttore del quotidiano cattolico.