L'année suivante, Cao atteint la demi-finale du Masters d'Europe, une première pour lui dans un tournoi classé, après avoir battu Mark Williams en quarts de finale. Il continue sa progression et remporte de plus en plus de matchs sur les tournois de classement, à commencer par l'Open d'Écosse en 2017 où il atteint sa première finale. Il réalise par la même occasion son premier break de 147 en compétition professionnelle au cours de son match de premier tour qui l'opposait à l'Anglais Andrew Higginson, match qu'il remporte par ailleurs 4-0. En finale, il retrouve Neil Robertson. La rencontre tourne assez rapidement en la faveur de Cao qui s'offre un avantage considérable, menant 8-4, avant de voir Robertson remonter la situation pour finalement s'imposer 9-8.