| Season | Team |  |  |  |  |  |  |  |  |  |  | 
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 |  Junior (Primera A) | 998 | 13 | 13 | 0 | 9 | 0 | 1 | 0 | 0 | 0 | 
| 2025 |  Junior (CONMEBOL Sudamericana) | 85 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 
| 2024 |  Junior (Primera A) | 3246 | 43 | 40 | 3 | 28 | 3 | 6 | 2 | 0 | 0 | 
| 2024 |  Portland Timbers (Major League Soccer) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2024 |  Junior (CONMEBOL Libertadores) | 456 | 7 | 6 | 1 | 6 | 2 | 0 | 0 | 0 | 0 | 
| 2024 |  Junior (Copa Colombia) | 152 | 2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 
| 2023 |  Portland Timbers (MLS) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2023 |  Portland Timbers (Major League Soccer) | 742 | 17 | 9 | 8 | 10 | 9 | 1 | 0 | 0 | 0 | 
| 2023 |  Portland Timbers (US Open Cup) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2023 |  Portland Timbers (Leagues Cup) | 86 | 2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 
| 2022 |  Colombia (World Cup - Qualification South America) | 17 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 
| 2022 |  Portland Timbers (Major League Soccer) | 2781 | 34 | 33 | 1 | 20 | 1 | 4 | 5 | 0 | 0 | 
| 2022 |  Colombia (Friendlies) | 90 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2022 |  Portland Timbers (US Open Cup) | 24 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 
| 2021 |  Portland Timbers (Major League Soccer) | 2724 | 34 | 33 | 1 | 23 | 1 | 6 | 1 | 0 | 0 | 
| 2021 |  Colombia (Copa America) | 131 | 4 | 0 | 4 | 0 | 6 | 0 | 0 | 0 | 0 | 
| 2021 |  Portland Timbers (CONCACAF Champions League) | 329 | 4 | 4 | 0 | 3 | 0 | 3 | 0 | 0 | 0 | 
| 2020 |  Portland Timbers (MLS) | 395 | 7 | 5 | 2 | 5 | 2 | 0 | 0 | 0 | 0 | 
| 2020 |  Portland Timbers (Major League Soccer) | 1439 | 24 | 15 | 9 | 12 | 9 | 4 | 0 | 0 | 0 | 
| 2019 |  Colombia (Friendlies) | 8 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 
| 2019 |  Atletico-MG (Serie A) | 1359 | 18 | 17 | 1 | 8 | 1 | 3 | 0 | 0 | 0 | 
| 2019 |  Atletico-MG (Copa Do Brasil) | 360 | 4 | 4 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 
| 2019 |  Atletico-MG (Mineiro 1) | 581 | 8 | 6 | 2 | 1 | 2 | 1 | 0 | 0 | 0 | 
| 2019 |  Atletico-MG (CONMEBOL Libertadores) | 410 | 8 | 4 | 4 | 2 | 5 | 0 | 0 | 0 | 0 | 
| 2019 |  Atletico-MG (CONMEBOL Sudamericana) | 646 | 8 | 7 | 1 | 3 | 1 | 3 | 1 | 0 | 0 | 
| 2018 |  Colombia (WC Qualification South America) | 144 | 4 | 1 | 3 | 1 | 3 | 0 | 0 | 0 | 0 | 
| 2018 |  Colombia (Friendlies) | 42 | 3 | 0 | 3 | 0 | 6 | 1 | 0 | 0 | 0 | 
| 2018 |  Atletico-MG (Serie A) | 1853 | 22 | 22 | 0 | 5 | 0 | 1 | 1 | 0 | 0 | 
| 2018 |  Junior (Primera A) | 983 | 11 | 11 | 0 | 1 | 0 | 3 | 1 | 0 | 0 | 
| 2018 |  Colombia (World Cup - Qualification South America) | 144 | 4 | 1 | 3 | 1 | 3 | 0 | 0 | 0 | 0 | 
| 2018 |  Junior (CONMEBOL Libertadores) | 856 | 10 | 10 | 0 | 5 | 0 | 2 | 1 | 0 | 0 | 
| 2017 |  Colombia (Friendlies) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2017 |  Junior (Primera A) | 1345 | 18 | 14 | 4 | 4 | 4 | 11 | 2 | 0 | 0 | 
| 2017 |  Junior (Copa Colombia) | 385 | 5 | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 
| 2017 |  Junior (CONMEBOL Sudamericana) | 710 | 8 | 8 | 0 | 2 | 0 | 2 | 0 | 0 | 0 | 
| 2016-2017 |  Monterrey (Liga MX) | 2029 | 34 | 22 | 12 | 17 | 13 | 3 | 0 | 0 | 0 | 
| 2016-2017 |  Monterrey (Copa MX) | 417 | 6 | 4 | 2 | 2 | 2 | 4 | 0 | 0 | 0 | 
| 2016-2017 |  Monterrey (CONCACAF Champions League) | 270 | 3 | 3 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 
| 2016 |  Monterrey (CONCACAF Champions League) | 270 | 3 | 3 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 
| 2015-2016 |  Dorados (Liga MX) | 1440 | 16 | 16 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 
| 2015-2016 |  Dorados (Copa MX) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2015 |  Atletico Nacional (Primera A) | 2115 | 24 | 24 | 0 | 8 | 0 | 5 | 1 | 0 | 0 | 
| 2015 |  Atletico Nacional (Copa Colombia) | 53 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2014-2015 |  Monterrey (Liga MX) | 439 | 11 | 4 | 7 | 2 | 9 | 1 | 0 | 0 | 0 | 
| 2014-2015 |  Monterrey (Copa MX) | 509 | 7 | 6 | 1 | 2 | 1 | 3 | 0 | 0 | 0 | 
| 2014 |  Colombia (Friendlies) | 35 | 2 | 0 | 2 | 0 | 4 | 0 | 0 | 0 | 0 | 
| 2014 |  Deportes Tolima (Primera A) | 3141 | 35 | 35 | 0 | 3 | 0 | 11 | 1 | 0 | 1 | 
| 2014 |  Deportes Tolima (Copa Colombia) | 805 | 11 | 10 | 1 | 7 | 0 | 5 | 1 | 0 | 0 | 
| 2013 |  Deportes Tolima (Primera A) | 3682 | 41 | 41 | 0 | 1 | 0 | 10 | 4 | 0 | 0 | 
| 2013 |  Deportes Tolima (Copa Colombia) | 299 | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 
| 2013 |  Deportes Tolima (CONMEBOL Libertadores) | 713 | 8 | 8 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 
| 2012 |  Deportes Tolima (Primera A) | 2179 | 34 | 25 | 9 | 18 | 0 | 7 | 4 | 0 | 0 | 
| 2012 |  Deportes Tolima (Copa Colombia) | 511 | 8 | 5 | 3 | 1 | 0 | 4 | 0 | 0 | 0 | 
| 2012 |  Deportes Tolima (CONMEBOL Sudamericana) | 192 | 3 | 2 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 
| 2011 |  Deportes Tolima (Primera A) | 155 | 6 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2011 |  Deportes Tolima (Copa Colombia) | 413 | 10 | 3 | 7 | 1 | 0 | 0 | 0 | 0 | 0 | 
| 2010 |  Deportes Tolima (Primera A) | 48 | 3 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 2010 |  Deportes Tolima (CONMEBOL Sudamericana) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |