O tenista 19º do ranking venceu o espanhol número 2 por 5-7, 6-2 e 6-4 em 2 horas e 11 minutos.
Na próxima fase, Dimitrov enfrentará o chileno Nicolas Jarry (22º), que derrotou o wild card Diego Schwartzman por 2 sets a 1, parciais de 6-3, 5-7 e 6-3.
Com as quedas antecipadas de Daniil Medvedev, Stefanos Tsitsipas, Holger Rune e Jannik Sinner, o primeiro Masters em Xangai após a pandemia se abriu para o búlgaro, que busca o primeiro título na ATP desde 2017.
O russo Andrey Rublev (5º) é o tenista melhor ranqueado remanescente no torneio chinês.
Rublev derrotou o americano Tommy Paul, 12º cabeça de chave, por 7-5 e 7-5 em sua partida das oitavas de final.
Nas quartas, o russo encara Ugo Humbert, da França, que superou J.J. Wolf, dos Estados Unidos, por 6-1 e 6-2 em apenas 57 minutos.
O número um do mundo, Novak Djokovic, não foi a Xangai.