Es miembro del Partido Liberal y ha sido elegido por elección popular para integrar la Cámara de Representantes en dos ocasiones (1998-2002, 2002-2006) y dos más para el Senado (2006-2010, 2014-2018); estuvo también en esta corporación entre el 23 de noviembre de 2011 y el 20 de julio de 2014, en reemplazo de la destituida senadora Amparo Arbeláez Escalante.