Al año siguiente retorna a Colo-Colo con el cual juega 39 partidos y marca 2 goles.Se mantuvo en el club hasta junio de 2006 y ganó el Torneo de Apertura 2006 con el adiestrador Claudio Borghi y con compañeros como Matías Fernández, Humberto Suazo, Arturo Vidal, Claudio Bravo aunque no tuvo la posibilidad de jugar muchos partidos ese año si era parte del plantel.También jugó la Copa Libertadores de América del año 2007, integrando el grupo 2 con Club Necaxa, Sao Paulo y Alianza Lima.En O'Higgins llega para jugar el Torneo Transición 2013 con Eduardo Berizzo se convierte en uno de los referentes del equipo siendo capitán y con un mediocampo de lujo junto al paraguayo Rodrigo Rojas y el canterano celeste César Fuentes en aquel torneo jugó 15 partidos y marcó 2 goles, perdiendo una posibilidad de jugar la Copa Sudamericana 2013 en la última fecha con Unión La Calera siendo Cobreloa quien participa en el torneo.Para el Apertura 2013 fue todo diferente, realiza un gran torneo y logran la primera estrella para el conjunto rancagüino con jugadores como Paulo Garcés, Mariano Uglessich, Pablo Hernández y Pablo Calandria, llegando a la última fecha empatados con Universidad Católica en partido único en el Estadio Nacional derrotando 1-0 a los cruzados.Tal así, que incluso pudo jugar algunos minutos en partidos amistosos y la Copa Kirin en Japón.En 2013 nuevamente es citado esta vez por Claudio Borghi incluso ingresó en un partido por las Eliminatorias para Brasil 2014 contra Bolivia en La Paz.