Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Once Caldas | 2005/06 – 2026/27 | 362 | 170 | 12 |
| Colombia | 2010 – 2026 | 27 | 3 | 0 |
| Bucaramanga | 2022/23 | 43 | 22 | 4 |
| Oriente Petrolero | 2021/22 | 17 | 4 | — |
| Talleres | 2018/19 – 2020/21 | 41 | 10 | 6 |
| Atletico Nacional | 2017/18 – 2018/19 | 89 | 57 | 10 |
| Tijuana | 2011/12 – 2016/17 | 102 | 50 | 6 |
| Millonarios | 2013/14 – 2014/15 | 53 | 34 | — |
| Junior | 2012/13 – 2013/14 | 36 | 13 | — |
| FCSB | 2008/09 – 2009/10 | 43 | 8 | — |
| FCSB II | 2009/10 | 0 | 2 | — |
| Athletico | 2007/08 | 0 | 1 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 16 Dec 2022 | Bucaramanga | Once Caldas | — |
| 2 Jan 2021 | Once Caldas | Oriente Petrolero | — |
| 15 Sept 2020 | Talleres Cordoba | Once Caldas | Free |
| 10 Jan 2019 | Atletico Nacional | Talleres Cordoba | Free |
| 1 Jan 2017 | Club Tijuana | Atletico Nacional | — |
| 1 Jul 2014 | Millonarios | Club Tijuana | — |
| 1 Jul 2013 | Club Tijuana | Millonarios | Loan |
| 1 Jul 2012 | Club Tijuana | Junior | Loan |
| 1 Feb 2012 | Club Tijuana | Once Caldas | Loan |
| 1 Jul 2011 | Once Caldas | Club Tijuana | € 2.5M |
| 1 Jan 2010 | FCSB | Once Caldas | Free |
| 22 Jan 2008 | Once Caldas | FCSB | € 1.8M |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | World Cup - Qualification South America | Colombia | 1 | 0 | 8 | 0 | 0 | 0 | 0 | 6.60 |
| 2026/27 | Primera A | Once Caldas | 34 | 26 | 2277 | 16 | 1 | 4 | 0 | 7.01 |
| 2025/26 | CONMEBOL Sudamericana | Once Caldas | 10 | 9 | 1071 | 10 | 2 | 1 | 0 | 7.45 |
| 2025/26 | Primera A | Once Caldas | 40 | 35 | 3079 | 14 | 2 | 7 | 0 | 7.04 |
| 2024/25 | Primera A | Once Caldas | 49 | 49 | 4193 | 21 | 4 | 2 | 0 | 7.02 |
| 2024/25 | Copa Colombia | Once Caldas | 1 | 0 | 29 | 0 | — | 0 | 0 | — |
| 2023/24 | Primera A | Once Caldas | 40 | 39 | 3420 | 20 | 3 | 5 | 0 | 7.15 |
| 2023/24 | Copa Colombia | Once Caldas | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | Primera A | Bucaramanga | 42 | 42 | 3643 | 22 | 4 | 6 | 0 | 7.28 |
| 2022/23 | Copa Colombia | Bucaramanga | 1 | 0 | 36 | 0 | — | 0 | 0 | — |
| 2021/22 | Primera División | Oriente Petrolero | 17 | 9 | 922 | 4 | — | 4 | 0 | — |
| 2020/21 | Primera A | Once Caldas | 14 | 9 | 870 | 5 | — | 0 | 0 | — |
| 2020/21 | Copa Colombia | Once Caldas | 2 | 1 | 107 | 0 | — | 1 | 0 | — |
| 2020/21 | Copa de la Superliga | Talleres | 1 | 0 | 24 | 0 | — | 0 | 0 | — |
| 2019/20 | Liga Profesional Argentina | Talleres | 20 | 9 | 1008 | 3 | 5 | 4 | 0 | 6.97 |
| 2019/20 | Copa de la Superliga | Talleres | 4 | 4 | 337 | 3 | — | 0 | 0 | — |
| 2019/20 | Copa Argentina | Talleres | 3 | 2 | 151 | 1 | — | 0 | 0 | — |
| 2019/20 | CONMEBOL Libertadores | Talleres | 4 | 4 | 335 | 2 | — | 0 | 0 | 7.03 |
| 2018/19 | Liga Profesional Argentina | Talleres | 9 | 7 | 657 | 1 | 1 | 1 | 0 | 7.13 |
| 2018/19 | Primera A | Atletico Nacional | 31 | 28 | 2570 | 19 | 3 | 4 | 0 | 7.15 |
| 2018/19 | Copa Colombia | Atletico Nacional | 5 | 5 | 418 | 2 | — | 1 | 0 | — |
| 2018/19 | CONMEBOL Libertadores | Atletico Nacional | 5 | 4 | 389 | 3 | — | 0 | 0 | 7.44 |
| 2017/18 | Primera A | Atletico Nacional | 37 | 36 | 3121 | 25 | 6 | 4 | 1 | 7.48 |
| 2017/18 | Copa Colombia | Atletico Nacional | 3 | 3 | 270 | 4 | — | 1 | 0 | — |
| 2017/18 | CONMEBOL Libertadores | Atletico Nacional | 6 | 6 | 493 | 2 | 1 | 0 | 0 | 8.30 |
| 2017/18 | CONMEBOL Recopa | Atletico Nacional | 2 | 2 | 162 | 2 | — | 0 | 0 | — |
| 2016/17 | Liga MX | Tijuana | 19 | 19 | 1545 | 12 | 2 | 2 | 0 | 7.21 |
| 2016 | Copa America | Colombia | 3 | 1 | 62 | 0 | — | 0 | 0 | 6.70 |
| 2016 | Friendlies | Colombia | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2015/16 | Liga MX | Tijuana | 34 | 34 | 2933 | 20 | 4 | 11 | 0 | 7.42 |
| 2015/16 | Copa MX | Tijuana | 4 | 3 | 221 | 3 | — | 1 | 0 | — |
| 2014/15 | Liga MX | Tijuana | 30 | 24 | 2184 | 10 | — | 7 | 0 | — |
| 2014/15 | Primera A | Millonarios | 21 | 19 | 1752 | 13 | — | 3 | 0 | — |
| 2014/15 | Copa MX | Tijuana | 3 | 1 | 101 | 0 | — | 0 | 0 | — |
| 2014 | CONMEBOL World Cup Qualifiers | Colombia | 3 | 0 | 58 | 0 | — | 0 | 0 | — |
| 2013/14 | Primera A | Millonarios | 24 | 22 | 2027 | 16 | — | 2 | 0 | — |
| 2013/14 | Primera A | Junior | 18 | 16 | 1420 | 5 | — | 2 | 0 | — |
| 2013/14 | Copa Colombia | Millonarios | 8 | 7 | 632 | 5 | — | 2 | 0 | — |
| 2013/14 | Copa Colombia | Junior | 1 | 0 | 8 | 1 | — | 0 | 0 | — |
| 2012/13 | Primera A | Junior | 16 | 14 | 1246 | 6 | — | 4 | 0 | — |
| 2012/13 | Primera A | Once Caldas | 12 | 12 | 1074 | 3 | — | 4 | 1 | — |
| 2012/13 | Copa Colombia | Junior | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2012/13 | Copa Colombia | Once Caldas | 6 | 6 | 535 | 1 | — | 0 | 0 | — |
| 2011/12 | Liga MX | Tijuana | 12 | 9 | 860 | 5 | — | 4 | 0 | — |
| 2011/12 | Primera A | Once Caldas | 15 | 13 | 1174 | 5 | — | 2 | 0 | — |
| 2011/12 | CONMEBOL Libertadores | Once Caldas | 10 | 10 | 895 | 2 | — | 3 | 0 | — |
| 2011 | CONMEBOL Copa America | Colombia | 4 | 4 | 326 | 0 | — | 1 | 0 | — |
| 2011 | Friendlies | Colombia | 4 | 4 | 321 | 0 | — | 2 | 0 | — |
| 2010/11 | Primera A | Once Caldas | 34 | 31 | 2835 | 20 | — | 7 | 1 | — |
| 2010/11 | CONMEBOL Libertadores | Once Caldas | 7 | 7 | 630 | 3 | — | 2 | 0 | — |
| 2010 | CONMEBOL World Cup Qualifiers | Colombia | 5 | 0 | 148 | 1 | — | 1 | 0 | — |
| 2010 | Friendlies | Colombia | 6 | 2 | 248 | 1 | — | 0 | 0 | — |
| 2009/10 | Liga I | FCSB | 5 | 3 | 276 | 2 | — | 1 | 0 | — |
| 2009/10 | UEFA Europa League | FCSB | 3 | 0 | 67 | 0 | — | 0 | 0 | — |
| 2008/09 | Liga I | FCSB | 27 | 22 | 1916 | 5 | — | 4 | 0 | — |
| 2008/09 | UEFA Champions League | FCSB | 8 | 7 | 658 | 1 | — | 1 | 0 | — |
| 2007/08 | Primera A | Once Caldas | 22 | — | — | 16 | — | — | — | — |
| 2006/07 | Primera A | Once Caldas | 33 | — | — | 20 | — | — | — | — |
| 2005/06 | Primera A | Once Caldas | 32 | — | — | 14 | — | — | — | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| Liga I (Romania) | 2007/2008 | 2nd Place |
| Primera A (Colombia) | 2017 | Winner |
| Primera A (Colombia) | 2010 | Winner |
| Superliga (Colombia) | 2018 | 2nd Place |
| Superliga (Colombia) | 2012 | 2nd Place |
| Copa Colombia (Colombia) | 2013 | 2nd Place |
| CONMEBOL Libertadores (South America) | 2004 | Winner |
| CONMEBOL Recopa (South America) | 2017 | Winner |
| CONMEBOL Recopa (South America) | 2005 | 2nd Place |
| Florida Cup (World) | 2018 | Winner |
