Dejando por el camino al italiano Jannik Sinner por 7-5 y 6-4, al canadiense Denis Shapovalov por 3-6, 6-4 y 7-6 (donde además salvó un punto de partido), al alemán Alexander Zverev por 6-3 y 6-4 (vengando así la derrota de la semana anterior en Madrid) y al estadounidense Reilly Opelka por 6-4 y 6-4, el español alcanzaba la final del torneo romano por decimosegunda vez en toda su carrera.