Comincia la sua carriera all'Independiente Medellín. Nel 2003 si trasferisce al Boca Juniors, con cui vince la Primera División 2003-2004 e la Coppa Intercontinentale 2003. Nel giugno 2004 si trasferisce all'Atlético Madrid. Con l'Atlético Madrid in otto stagioni vince due Europa League, una Supercoppa UEFA e una Coppa Intertoto. Nel 2012 si trasferisce in Messico, al Cruz Azul, con cui vince una CONCACAF Champions League. Al termine della stagione 2013-2014 rimane svincolato.