Miembro del PSOE, tuvo escaño por Sevilla en el Congreso de los Diputados desde 1977 hasta 2015.
Es licenciado en Filosofía y Letras por la Universidad de Sevilla e ingeniero técnico industrial.
A comienzos de la década de 1960 formó parte del grupo socialista que se configuró en torno a Alfonso Fernández Torres, al que también pertenecieron Manuel Chaves, Guillermo Galeote, Felipe González, Luis Yáñez o Manuel del Valle.
La dirección del PSOE lograría acabar con las disidencias internas gracias a la política de «mano dura» que impuso Alfonso Guerra.
[13] En ese sentido, recordaría «lo mucho que Cataluña debe a Andalucía».
Dicha victoria se debió a varios factores: la crisis interna del partido gubernamental (UCD, de centro-derecha), la mala coyuntura económica con las secuelas de desempleo y malestar social, y la buena organización (logro de Alfonso Guerra) y liderazgo (Felipe González) del PSOE.
[18] En esta labor contaría con la estrecha colaboración del nuevo secretario de Organización, Txiki Benegas.
[19] Durante estos años su gestión del partido se caracterizó por una fuerte centralización de la toma de decisiones, algo que a la larga provocaría no pocas críticas internas.
[26] Finalmente, con su imagen muy deteriorada,[27] en enero de 1991 dimitió como vicepresidente del gobierno.
Es doctor honoris causa por la Universidad Nacional Federico Villarreal de Lima (Perú), que le otorgó dicha distinción en 1988.