Jannik Sinner ignored the bubbling controversy over his steroid case and a roaring home crowd to set up a China Open final against Carlos Alcaraz on Tuesday.
The world No 1 and defending champion defeated the 96th-ranked Chinese wildcard Bu Yunchaokete 6-3, 7-6 (7/3) to avoid a major upset.
The Italian faces Spanish second seed Alcaraz, who was in fine form in a 7-5, 6-3 victory over Russian third seed Daniil Medvedev in the other semifinal.
In front of a packed house on China’s national day, US Open champion Sinner was facing a player he had never met before and who was competing in the biggest match of his life.
China’s 22-year-old Bu was also in the form of his life, having similarly reached the semifinals last week in Hangzhou.
Bu had Sinner under pressure on the Italian’s serve early in the first set, but Sinner staved off the threat and the storm gradually blew itself out as the set wore on.
They went to the tie break in the second set, with Sinner serving an ace to convert his third match point after just over two hours.
Nobody has won more matches on tour this season than Sinner, 23, who failed two doping tests in March but was cleared of wrongdoing and allowed to keep playing.