Porto CH 2025 ATP
Final
| Winner | Loser | Score | |
|---|---|---|---|
| Moez Echargui | d. | Francesco Maestrelli | 6-3 6-2 |
Semifinals
| Winner | Loser | Score | |
|---|---|---|---|
| Francesco Maestrelli | d. | Alejandro Moro Canas | 6-4 6-4 |
| Moez Echargui | d. | Hugo Grenier | 7-6(6) 6-4 |
Quarterfinals
| Winner | Loser | Score | |
|---|---|---|---|
| Alejandro Moro Canas | d. | Henrique Rocha | 6-3 6-2 |
| Francesco Maestrelli | d. | Antoine Escoffier | 6-2 6-4 |
| Moez Echargui | d. | Edas Butvilas | 4-6 6-3 6-3 |
| Hugo Grenier | d. | Elias Ymer | 3-6 6-1 6-4 |
Round of 16
| Winner | Loser | Score | |
|---|---|---|---|
| Alejandro Moro Canas | d. | Martin Landaluce | 4-6 7-6(4) 6-3 |
| Henrique Rocha | d. | Eliakim Coulibaly | 7-6(6) 6-4 |
| Antoine Escoffier | d. | Tiago Pereira | 3-6 6-4 7-5 |
| Francesco Maestrelli | d. | George Loffhagen | 6-3 6-2 |
| Edas Butvilas | d. | Luca Van Assche | 6-2 6-4 |
| Moez Echargui | d. | Frederico Ferreira Silva | 6-3 6-3 |
| Hugo Grenier | d. | Matias Soto | 6-3 6-3 |
| Elias Ymer | d. | Mikhail Kukushkin | 6-3 3-6 6-4 |
Round of 32
| Winner | Loser | Score | |
|---|---|---|---|
| Martin Landaluce | d. | Gastao Elias | 7-5 6-3 |
| Alejandro Moro Canas | d. | Jie Cui | 6-4 7-6(3) |
| Eliakim Coulibaly | d. | Radu Albot | 6-0 6-3 |
| Henrique Rocha | d. | Henry Searle | 6-4 6-4 |
| Antoine Escoffier | d. | Daniel Merida Aguilar | 6-2 6-2 |
| Tiago Pereira | d. | Maxwell Mckennon | 6-2 6-2 |
| George Loffhagen | d. | Giulio Zeppieri | 6-7(2) 6-3 6-0 |
| Francesco Maestrelli | d. | Tiago Torres | 4-6 7-6(2) 6-3 |
| Luca Van Assche | d. | Adria Soriano Barrera | 6-2 6-3 |
| Edas Butvilas | d. | Denis Yevseyev | 6-2 7-6(6) |
| Moez Echargui | d. | Khumoun Sultanov | 6-7(3) 6-4 6-4 |
| Frederico Ferreira Silva | d. | Marc Andrea Huesler | 7-5 4-6 6-3 |
| Hugo Grenier | d. | Pedro Araujo | 6-0 7-6(4) |
| Matias Soto | d. | Nicolas Alvarez Varona | 7-6(1) 4-6 2-0 RET |
| Mikhail Kukushkin | d. | Aslan Karatsev | 7-6(7) 6-4 |
| Elias Ymer | d. | Jaime Faria | 2-6 7-6(3) 7-5 |
Qualifying round 2
| Winner | Loser | Score | |
|---|---|---|---|
| Maxwell Mckennon | d. | Leonardo Rossi | 6-1 6-2 |
| Henry Searle | d. | Mae Malige | 6-4 7-5 |
| Tiago Torres | d. | Luca Potenza | 6-4 1-6 6-4 |
| Moez Echargui | d. | Diogo Marques | 6-1 6-4 |
| Adria Soriano Barrera | d. | Marc Polmans | 1-6 6-3 6-2 |
| Giulio Zeppieri | d. | Tiago Silva | 6-1 6-4 |
Qualifying round 1
| Winner | Loser | Score | |
|---|---|---|---|
| Maxwell Mckennon | d. | Bogdan Pavel | 6-2 6-3 |
| Leonardo Rossi | d. | Vadym Ursu | 6-3 6-4 |
| Mae Malige | d. | Francisco Rocha | 4-6 7-5 6-3 |
| Henry Searle | d. | Vasco Leote Prata | 7-6(6) 6-2 |
| Luca Potenza | d. | Hugo Maia | 6-4 6-0 |
| Tiago Torres | d. | Robin Bertrand | 1-6 6-3 6-3 |
| Diogo Marques | d. | Rigele Te | 7-5 4-6 6-4 |
| Moez Echargui | d. | Thomas Braithwaite | 6-2 6-2 |
| Marc Polmans | d. | Tomas Pinho | 6-1 6-1 |
| Adria Soriano Barrera | d. | Hayato Matsuoka | 2-6 7-6(1) 6-4 |
| Tiago Silva | d. | Max Wiskandt | 6-3 6-4 |
| Giulio Zeppieri | d. | Ray Ho | 6-4 6-4 |
Data: Jeff Sackmann / Tennis Abstract — CC BY-NC-SA 4.0