Es Licenciado en Derecho por la Universidad Complutense de Madrid (1969) y Doctor en Derecho por la misma Universidad (1975), así como Máster en Ciencias Políticas por Michigan State University (1975).
Durante su trayectoria académica en el ámbito del Derecho Constitucional, ha sido profesor asociado en la Universidad Complutense de Madrid (1975-1978), catedrático en la Universidad de Extremadura (1978-1995), y catedrático en la Universidad Carlos III de Madrid (1995-2008), donde ha sido asimismo director del Instituto de Derecho Público Comparado (2001-2003).
En el Tribunal Constitucional de España, tras ejercer como letrado del mismo (1982-1986), fue nombrado en 1986 magistrado, a propuesta del Gobierno de España, durante la presidencia de Felipe González. En 1992 fue elegido vicepresidente del Tribunal, permaneciendo en el cargo hasta agotar su mandato en 1995.
Ha sido vocal de la Junta Electoral Central y vicepresidente del Consejo General del Poder Judicial entre 1996 y 2001. En las elecciones autonómicas de 2003 fue elegido diputado de la Asamblea de Madrid, como número tres de la lista del Partido Socialista Obrero Español (PSOE).
Tras la victoria socialista en las elecciones generales de 2004 fue nombrado Secretario de Estado de Justicia, siendo el número dos del ministro Juan Fernando López Aguilar, en el Gobierno de José Luis Rodríguez Zapatero.