Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Racing Montevideo | 2023/24 – 2026/27 | 66 | 6 | 2 |
| Deportivo Maldonado | 2021/22 – 2023/24 | 88 | 2 | — |
| Śląsk Wrocław | 2019/20 – 2020/21 | 12 | 0 | — |
| Śląsk Wrocław II | 2020/21 | 4 | 0 | — |
| Club Nacional | 2018/19 – 2019/20 | 38 | 0 | — |
| Talleres | 2016/17 – 2017/18 | 9 | 0 | — |
| Oviedo | 2017/18 | 30 | 1 | — |
| Rubin | 2014/15 – 2016/17 | 40 | 0 | 1 |
| Danubio | 2013/14 – 2015/16 | 28 | 0 | — |
| Uruguay U20 | 2015 | 12 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 3 Jan 2024 | Deportivo Maldonado | Racing Montevideo | Free |
| 18 Aug 2021 | Slask Wroclaw | Deportivo Maldonado | Free |
| 30 Jan 2020 | Club Nacional | Slask Wroclaw | Free |
| 20 Jul 2018 | Oviedo | Club Nacional | Free |
| 2 Aug 2016 | Rubin | Talleres Cordoba | Loan |
| 27 Feb 2015 | Danubio | Rubin | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | CONMEBOL Sudamericana | Racing Montevideo | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 6.20 |
| 2025/26 | Primera División - Clausura | Racing Montevideo | 19 | 20 | 1668 | 2 | 1 | 6 | 0 | 7.60 |
| 2025/26 | CONMEBOL Sudamericana | Racing Montevideo | 7 | 6 | 552 | 0 | 0 | 2 | 0 | 6.63 |
| 2024/25 | Primera División - Clausura | Racing Montevideo | 32 | 31 | 2770 | 2 | — | 6 | 0 | — |
| 2024/25 | CONMEBOL Sudamericana | Racing Montevideo | 7 | 7 | 630 | 2 | 1 | 0 | 0 | 7.50 |
| 2023/24 | Primera División - Clausura | Deportivo Maldonado | 36 | 36 | 3237 | 0 | — | 8 | 0 | — |
| 2023/24 | CONMEBOL Libertadores | Deportivo Maldonado | 2 | 2 | 180 | 0 | — | 0 | 0 | 6.25 |
| 2022/23 | Primera División - Clausura | Deportivo Maldonado | 35 | 34 | 3132 | 1 | — | 8 | 1 | — |
| 2021/22 | Primera División - Clausura | Deportivo Maldonado | 15 | 15 | 1325 | 1 | — | 1 | 0 | — |
| 2020/21 | II Liga - East | Śląsk Wrocław II | 4 | 4 | 334 | 0 | — | 0 | 0 | — |
| 2020/21 | Ekstraklasa | Śląsk Wrocław | 9 | 6 | 552 | 0 | — | 1 | 0 | — |
| 2019/20 | Ekstraklasa | Śląsk Wrocław | 3 | 3 | 250 | 0 | — | 0 | 0 | — |
| 2019/20 | Primera División - Clausura | Club Nacional | 29 | 28 | 2380 | 0 | — | 8 | 0 | — |
| 2019/20 | CONMEBOL Libertadores | Club Nacional | 3 | 3 | 261 | 0 | — | 1 | 0 | 7.00 |
| 2018/19 | Primera División - Clausura | Club Nacional | 6 | 6 | 540 | 0 | — | 3 | 0 | — |
| 2017/18 | Segunda División | Oviedo | 29 | 21 | 1861 | 1 | — | 2 | 0 | 6.69 |
| 2017/18 | Copa del Rey | Oviedo | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | Copa Argentina | Talleres | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | Liga Profesional Argentina | Talleres | 8 | 6 | 591 | 0 | — | 1 | 0 | 6.64 |
| 2015/16 | Premier League | Rubin | 23 | 20 | 1721 | 0 | 1 | 2 | 0 | 6.77 |
| 2015/16 | UEFA Europa League | Rubin | 6 | 4 | 396 | 0 | — | 1 | 0 | 6.50 |
| 2015/16 | CONMEBOL Libertadores | Danubio | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2015 | CONMEBOL U20 | Uruguay U20 | 8 | 8 | 715 | 0 | — | 1 | 0 | — |
| 2015 | FIFA U20 World Cup | Uruguay U20 | 4 | 4 | 390 | 0 | — | 0 | 0 | — |
| 2014/15 | Premier League | Rubin | 10 | 9 | 767 | 0 | — | 1 | 0 | — |
| 2014/15 | Primera División - Clausura | Danubio | 12 | 9 | 865 | 0 | — | 3 | 0 | — |
| 2014/15 | Cup | Rubin | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2014/15 | CONMEBOL Sudamericana | Danubio | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2013/14 | Primera División - Clausura | Danubio | 13 | 9 | 813 | 0 | — | 4 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
