Perito industriale, dopo il diploma ricopre incarichi direttivi nel Partito Comunista Italiano prima e nei Democratici di Sinistra poi. Dal 2007 aderisce al Partito Democratico. Nel 1983 è eletto per la prima volta consigliere comunale di Ancona. In questo periodo dirige il giornale La voce di Ancona. Dopo la rielezione a consigliere del 1988 e nel 1993 entra nella giunta del sindaco Renato Galeazzi dove rimane fino al 2001 assumendo le deleghe allo sport, turismo, politiche giovanili, polizia municipale, viabilità, lavori pubblici, bilancio e finanze (queste ultime due dal 1997 al 2001).
Il suo impegno per lo sport, maturato all'interno dell'amministrazione comunale, viene riconosciuto e nel 2000 i rappresentanti delle federazioni sportive lo eleggono presidente provinciale del CONI, carica che ricopre fino al 2007. Alle elezioni amministrative del 2001 corre per la carica di Primo Cittadino del capoluogo dorico e viene eletto al primo turno, ottenendo il 60,9% dei voti. Alla fine del 2001 diviene presidente della Associazione Nazionale Comuni Italiani delle Marche (ANCI MARCHE), in seguito, dal 2004 al 2009, verrà nominato, dal congresso dell'Anci, vicepresidente nazionale con delega ai problemi dell'immigrazione e alla finanza locale.
Alle elezioni comunali del 2006 viene confermato sindaco, sempre al primo turno, con il 58,1% dei voti.
Durante la carriera amministrativa, prima come assessore poi come sindaco, nel capoluogo dorico vengono completati lo Stadio del Conero, il Palarossini, il Palascherma, il campo di atletica Italo Conti e il Palaindoor facendo diventare Ancona città dello sport[senza fonte]. Sotto la sua gestione, dopo 60 anni di chiusura, viene riaperto il teatro più importante della città: il Teatro delle Muse.
Dal 2009 al 2015 lavoro come Segretario Generale di Federsanità - Anci società che si occupa di politiche di integrazione dei servizi social dei Comuni con quelle socio-sanitarie delle ASL.
Nel 2007 viene eletto presidente regionale del Coni Marche, carica che ricoprirà fino al 2015[1]. Dal 2009 al 2013 è componente del Consiglio Nazionale del Coni.
Nel 2013 viene eletto nella giunta nazionale del Coni presieduta da Giovanni Malagò, in rappresentanza dei comitati regionali.
Dal 2015 è responsabile della segreteria del Presidente della Regione Marche Luca Ceriscioli, seguendo direttamente le deleghe alla promozione sportiva e alle politiche giovanili.
Il 4 febbraio 2009, a seguito di un avviso di garanzia della Procura della Repubblica di Ancona si dimette dalla carica di Sindaco[2]. Il 24 febbraio conferma le sue dimissioni[3]. Affronta due processi penali per corruzione, concussione e tentata truffa. In entrambi i casi nel 2012 viene prosciolto con formula piena perché il fatto non sussiste[4][5][6].
Nel 2012, sempre per la stessa vicenda affronta anche il giudizio della Magistratura contabile per danno erariale nei primi due gradi di giudizio viene condannato al pagamento di 30000 euro per incauto acquisto. Anche in questo caso ritira la sua disponibilità alla candidatura per il Consiglio Regionale[7]. Ricorre alla Suprema Corte di Cassazione che dichiara incompetente la magistratura contabile sulla vicenda annullando le due precedenti sentenze di condanna.[senza fonte]