È stato segretario provinciale del Pds a Pisa, consigliere comunale a S. Croce e consigliere provinciale a Pisa, assessore regionale alle attività produttive della giunta Chiti, con delega alla protezione civile durante l¿alluvione del 1996.
Dal 1998 è sindaco di Pisa.
Dal 2004 è presidente dell¿Anci Toscana.
Nel 2006 è stato nominato presidente della delegazione italiana al Comitato delle Regioni europee.