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 |


























