Dopo gli studi sul socialismo italiano presso l’Università di Bologna e la carriera accademica condotta tra Trieste e Bologna, ricoprendo le cattedre di Storia economica e Storia delle dottrine economiche, nel 1956 ha inizio la sua presenza nell’amministrazione comunale di Bologna come consigliere. Nel 1959 viene incaricato dal sindaco Giuseppe Dozza dell’assessorato alle “istituzioni culturali” di nuova costituzione, che guiderà fino al 1964. Nel 1960 entra nel Comitato centrale del Pci; è sindaco della città di Bologna dal 1970 al 1983. Come sindaco si trova a fronteggiare alcuni dei momenti più drammatici dell’eversione neofascista: nel 1974 (strage del treno Italicus) e 1980 (strage della stazione di Bologna). Nel marzo 1983 Zangheri lascia Bologna per dirigere il Dipartimento sullo Stato e le autonomie locali della Direzione del Pci. Eletto deputato nel 1983 e 1987, è presidente del gruppo parlamentare del Pci negli anni fra 1986 e 1989. Dal 1991 torna a dedicarsi all'insegnamento universitario, ricoprendo fra 1991 e 1994 la carica di Rettore dell'Università di San Marino, e alla ricerca lavorando alla redazione della Storia del socialismo italiano.