García-Peña es historiador de Belmont Abbey College (Carolina del Norte) y ha sido profesor y director del Departamento de Historia en la Universidad de Los Andes y profesor de Ciencia Política en la Nacional, y periodista en diferentes medios. Recientemente fue columnista de El Espectador.
Fue miembro de la Alianza Democrática M-19, primero como asesor durante la Asamblea Nacional Constituyente y luego trabajó en AM PM, el noticiero que tuvo ese movimiento en la primera mitad de los años noventa.
Entre 1995 y 1998 fue Alto Comisionado de Paz del gobierno de Ernesto Samper. Al terminar el gobierno pasó a dirigir Planeta Paz, una ONG de izquierda moderada en la que estuvieron varios miembros de lo que después sería el Frente Social y Político.
Precisamente en ese movimiento dirigió la fallida campaña presidencial de 'Lucho' Garzón en 2002 y luego la exitosa campaña a la Alcaldía de Bogotá en 2003.
En 2007 fue elegido Secretario General del Polo Democrático, con el apoyo de los sectores afines a Navarro, Petro y Garzón. Pero duró poco más de un año en ese cargo, y en junio de 2008 renunció en medio de una fuerte pelea con el entonces presidente del partido, Carlos Gaviria.
Finalmente se retiró del Polo en diciembre de 2010, en el movimiento de salida que lideró Petro y que culminó en la creación de Progresistas.
Tras ser el jefe de debate de la campaña de Petro, el alcalde lo nombró como Director Distrital de Relaciones Internacionales, que depende de la Secretaría General y está encargada de buscar cooperación internacional y de ser una especie de Cancillería del Distrito.
Su esposa, María Valencia, entró al gabinete de Petro como Secretaria de Hábitat. Pero en junio de 2012 Petro le aceptó una renuncia protocolaria a Valencia y García-Peña decidió renunciar a su cargo, tras enviarle una carta pública al alcalde en la que mostraba a la vez su admiración y comrpomiso con él y su dolor por la manera en que desvinculó a Valencia.
Tras romper con Petro, fue nombrado cónsul en París por el presidente Juan Manuel Santos, cargo en el que se mantuvo hasta 2015, al tiempo que el embajador era el ex ministro Federico Renjifo.