Knockout bracket
Round of 16
Quarterfinal
Early rounds
Round of 32 12 matches
| Winner | Loser | Set 1 | Set 2 | Set 3 |
|---|---|---|---|---|
| Jan Choinski | Joao Fonseca | 6-2 | 6-75 | 6-4 |
| David Jorda Sanchis | Jaime Faria | 7-64 | 6-1 | · |
| Pablo Llamas Ruiz | Dominik Koepfer | 6-4 | 6-3 | · |
| Nuno Borges | Lucas Pouille | 0-6 | 7-66 | 6-3 |
| Cristian Garin | Jurij Rodionov | 7-63 | 7-5 | · |
| Arthur Fils | Joao Sousa | 7-5 | 6-4 | · |
| Roberto Bautista Agut | Miomir Kecmanovic | 6-1 | 7-5 | · |
| Pedro Martinez | Daniel Altmaier | 6-4 | 6-2 | · |
| Dominic Thiem | Maximilian Marterer | 6-1 | 6-73 | 6-4 |
| Gael Monfils | Henrique Rocha | 7-5 | 7-5 | · |
| Marton Fucsovics | Pedro Cachin | 7-5 | 6-2 | · |
| Botic Van De Zandschulp | Federico Coria | 6-4 | 4-6 | 6-1 |
Players
| Player | Country | Reached | |
|---|---|---|---|
| Hubert Hurkacz | POL | Winner | |
| Pedro Martinez | ESP | Final | |
| Casper Ruud | NOR | Semifinal | |
| Cristian Garin | CHI | Semifinal | |
| Marton Fucsovics | HUN | Quarterfinal | |
| Nuno Borges | POR | Quarterfinal | |
| Pablo Llamas Ruiz | ESP | Quarterfinal | |
| Richard Gasquet | FRA | Quarterfinal | |
| Arthur Fils | FRA | Round of 16 | |
| Botic Van De Zandschulp | NED | Round of 16 | |
![]() |
David Jorda Sanchis | ESP | Round of 16 |
| Dominic Thiem | AUT | Round of 16 | |
| Gael Monfils | FRA | Round of 16 | |
| Jan Choinski | GBR | Round of 16 | |
| Lorenzo Musetti | ITA | Round of 16 | |
| Roberto Bautista Agut | ESP | Round of 16 | |
| Daniel Altmaier | GER | Round of 32 | |
| Dominik Koepfer | GER | Round of 32 | |
| Federico Coria | ARG | Round of 32 | |
![]() |
Henrique Rocha | POR | Round of 32 |
| Jaime Faria | POR | Round of 32 | |
| Joao Fonseca | BRA | Round of 32 | |
| Joao Sousa | POR | Round of 32 | |
| Jurij Rodionov | AUT | Round of 32 | |
| Lucas Pouille | FRA | Round of 32 | |
| Maximilian Marterer | GER | Round of 32 | |
| Miomir Kecmanovic | SRB | Round of 32 | |
| Pedro Cachin | ARG | Round of 32 |

