| R32 | 93 | Daniel Elahi GalanClay | 109 | Camilo Ugo CarabelliClay | 7-6(2) 6-4 | 3 | 134 | 5 | 2 | 64.3% | 77.8% | 60.0% | 2/3 |
| R32 | 223 | Marc-Andrea HueslerClay | 320 | Marko TopoClay | 3-6 6-1 6-3 | 3 | 114 | 4 | 3 | 60.0% | 64.3% | 67.9% | 2/4 |
| R32 | 61 | Yannick HanfmannClay | 63 | Alexander ShevchenkoClay | 6-7(6) 6-3 7-5 | 3 | 149 | 0 | 2 | 69.7% | 73.7% | 51.5% | 2/3 |
| R32 | 89 | Botic van de ZandschulpClay | 280 | Ivan GakhovClay | 6-4 2-6 6-3 | 3 | 162 | 2 | 5 | 51.6% | 60.4% | 46.7% | 9/15 |
| R32 | 85 | Taro DanielClay | 58 | Christopher O'ConnellClay | 6-3 6-4 | 3 | 87 | 3 | 0 | 84.9% | 71.1% | 87.5% | 1/2 |
| R32 | 34 | Felix Auger-AliassimeClay | 101 | Maximilian MartererClay | 6-7(5) 7-6(6) 7-6(3) | 3 | 204 | 11 | 5 | 60.0% | 77.8% | 54.2% | 3/5 |
| R32 | 46 | Jack DraperClay | 119 | Vit KoprivaClay | 6-1 5-7 6-4 | 3 | 132 | 4 | 1 | 68.3% | 75.0% | 38.5% | 2/6 |
| R32 | 179 | Rudolf MollekerClay | 235 | Francesco PassaroClay | 6-4 6-2 | 3 | 68 | 9 | 1 | 50.9% | 75.0% | 66.7% | 1/1 |
| R32 | 240 | Alejandro Moro CanasClay | 105 | Dominic ThiemClay | 6-4 6-4 | 3 | 109 | 3 | 1 | 75.3% | 65.5% | 36.8% | 5/8 |
| R32 | 106 | Cristian GarinClay | 54 | Dominik KoepferClay | 7-6(3) 6-3 | 3 | 97 | 5 | 2 | 68.8% | 79.5% | 65.0% | 4/5 |
| R32 | 70 | Alex MichelsenClay | 473 | Max Hans RehbergClay | 7-6(2) 6-3 | 3 | 102 | 2 | 1 | 73.7% | 60.7% | 70.0% | 4/7 |
| R32 | 118 | Jurij RodionovClay | 65 | Aleksandar VukicClay | 6-2 6-3 | 3 | 84 | 4 | 4 | 58.8% | 80.0% | 35.7% | 0/1 |
| R16 | 12 | Holger RuneClay | 93 | Daniel Elahi GalanClay | 6-4 6-2 | 3 | 99 | 7 | 2 | 51.9% | 92.9% | 50.0% | 1/1 |
| R16 | 223 | Marc-Andrea HueslerClay | 61 | Yannick HanfmannClay | 6-2 6-4 | 3 | 91 | 5 | 2 | 62.7% | 73.0% | 59.1% | 4/5 |
| R16 | 28 | Jan-Lennard StruffClay | 89 | Botic van de ZandschulpClay | 7-6(0) 6-4 | 3 | 127 | 7 | 2 | 56.0% | 71.4% | 60.6% | 4/5 |
| R16 | 34 | Felix Auger-AliassimeClay | 85 | Taro DanielClay | 6-3 6-2 | 3 | 84 | 9 | 2 | 63.5% | 80.0% | 39.1% | 3/4 |
| R16 | 46 | Jack DraperClay | 179 | Rudolf MollekerClay | 4-6 6-1 6-1 | 3 | 95 | 9 | 2 | 71.0% | 79.6% | 45.0% | 1/2 |
| R16 | 15 | Taylor FritzClay | 240 | Alejandro Moro CanasClay | 6-3 6-1 | 3 | 73 | 9 | 0 | 62.5% | 88.0% | 66.7% | 0/0 |
| R16 | 106 | Cristian GarinClay | 70 | Alex MichelsenClay | 6-7(7) 6-2 6-1 | 3 | 146 | 3 | 2 | 60.5% | 67.3% | 56.3% | 5/8 |
| R16 | 5 | Alexander ZverevClay | 118 | Jurij RodionovClay | 7-6(3) 6-2 | 3 | 100 | 1 | 0 | 75.0% | 76.5% | 58.8% | 4/4 |
| QF | 12 | Holger RuneClay | 223 | Marc-Andrea HueslerClay | 6-4 7-6(3) | 3 | 101 | 3 | 0 | 68.4% | 78.8% | 62.5% | 4/4 |
| QF | 28 | Jan-Lennard StruffClay | 34 | Felix Auger-AliassimeClay | 7-5 6-4 | 3 | 103 | 6 | 0 | 76.9% | 66.0% | 80.0% | 1/2 |
| QF | 15 | Taylor FritzClay | 46 | Jack DraperClay | 4-6 6-3 7-6(1) | 3 | 135 | 18 | 0 | 78.1% | 80.0% | 61.9% | 6/7 |
| QF | 106 | Cristian GarinClay | 5 | Alexander ZverevClay | 6-4 6-4 | 3 | 120 | 2 | 0 | 55.4% | 63.9% | 75.9% | 2/2 |
| SF | 28 | Jan-Lennard StruffClay | 12 | Holger RuneClay | 6-2 6-0 | 3 | 45 | 8 | 1 | 55.6% | 95.0% | 62.5% | 1/1 |
| SF | 15 | Taylor FritzClay | 106 | Cristian GarinClay | 6-3 6-4 | 3 | 79 | 4 | 1 | 67.3% | 88.6% | 58.8% | 0/0 |
| F | 28 | Jan-Lennard StruffClay | 15 | Taylor FritzClay | 7-5 6-3 | 3 | 79 | 2 | 0 | 56.9% | 78.8% | 48.0% | 4/6 |