nie ukończył studiów. Działał w różnych organizacjach studenckich, stopniowo awansował też w strukturze PSI, będąc jej etatowym pracownikiem. W 1956 zasiadł w radzie miejskiej Sant’Angelo Lodigiano. Rok później dołączył do komitetu centralnego partii. Wkrótce przeniósł się do Sesto San Giovanni, gdzie powierzono mu funkcję kierownika regionalnego socjalistów. W 1960 został radnym Mediolanu, a następnie objął stanowisko asesora we władzach miejskich.
W 1968 po raz pierwszy uzyskał mandat posła do Izby Deputowanych. Sześciokrotnie z powodzeniem ubiegał się o reelekcję, sprawując mandat deputowanego do 1994 w ramach V, VI, VII, VIII, IX, X i XI kadencji. W latach 1979–1983 i 1989–1992 był też deputowanym do Parlamentu Europejskiego I oraz III kadencji. W 1970 powołany na zastępcę sekretarza PSI, a w 1976 zastąpił Francesca De Martino na funkcji sekretarza Włoskiej Partii Socjalistycznej. Na czele tego ugrupowania stał nieprzerwanie do 1993. Pod koniec lat 70. doprowadził socjalistów do zdystansowania się wobec Włoskiej Partii Komunistycznej oraz do zbliżenia z Chrześcijańską Demokracją.