Knockout bracket
Round of 16
Quarterfinal
Early rounds
Round of 32 12 matches
| Winner | Loser | Set 1 | Set 2 | Set 3 |
|---|---|---|---|---|
| Bernabe Zapata Miralles | Henrique Rocha | 6-4 | 6-2 | · |
| Jurij Rodionov | Albert Ramos | 3-6 | 6-1 | 6-4 |
| Miomir Kecmanovic | Luca Nardi | 6-4 | 6-1 | · |
| Luca Van Assche | Pedro Sousa | 6-75 | 6-3 | 6-1 |
| Fabio Fognini | Alessandro Giannessi | 6-2 | 6-1 | · |
| Marco Cecchinato | Diego Schwartzman | 6-3 | 7-68 | · |
| Ben Shelton | Constant Lestienne | 7-5 | 7-5 | · |
| Dominic Thiem | Sebastian Ofner | 3-6 | 6-3 | 6-4 |
| Quentin Halys | Nuno Borges | 6-3 | 6-4 | · |
| Sebastian Baez | Radu Albot | 7-5 | 7-63 | · |
| Pedro Cachin | Chun Hsin Tseng | 6-4 | 6-4 | · |
| Joao Sousa | Giulio Zeppieri | 6-4 | 1-6 | 6-3 |
Players
| Player | Country | Reached | |
|---|---|---|---|
| Casper Ruud | NOR | Winner | |
| Miomir Kecmanovic | SRB | Final | |
| Marco Cecchinato | ITA | Semifinal | |
| Quentin Halys | FRA | Semifinal | |
| Alejandro Davidovich Fokina | ESP | Quarterfinal | |
| Bernabe Zapata Miralles | ESP | Quarterfinal | |
| Dominic Thiem | AUT | Quarterfinal | |
| Sebastian Baez | ARG | Quarterfinal | |
| Ben Shelton | USA | Round of 16 | |
| Fabio Fognini | ITA | Round of 16 | |
| Hubert Hurkacz | POL | Round of 16 | |
| Joao Sousa | POR | Round of 16 | |
| Jurij Rodionov | AUT | Round of 16 | |
| Luca Van Assche | FRA | Round of 16 | |
| Pedro Cachin | ARG | Round of 16 | |
| Roberto Bautista Agut | ESP | Round of 16 | |
| Albert Ramos | ESP | Round of 32 | |
| Alessandro Giannessi | ITA | Round of 32 | |
| Chun Hsin Tseng | TPE | Round of 32 | |
| Constant Lestienne | FRA | Round of 32 | |
| Diego Schwartzman | ARG | Round of 32 | |
| Giulio Zeppieri | ITA | Round of 32 | |
![]() |
Henrique Rocha | POR | Round of 32 |
| Luca Nardi | ITA | Round of 32 | |
| Nuno Borges | POR | Round of 32 | |
| PS | Pedro Sousa | POR | Round of 32 |
| Radu Albot | MDA | Round of 32 | |
| Sebastian Ofner | AUT | Round of 32 |
