Novak Djokovic lined up a potential title showdown with Roger Federer after dismantling a shell-shocked Alexander Zverev 6-2, 6-1 on Saturday to surge into the Shanghai Masters final.
The 20-time Grand Slam winner and reigning champion Federer plays 13th seed Borna Coric of Croatia in Saturday's other semi-final.
Serbia's Djokovic, 31, is in imperious form, winning 16 ATP matches in a row coming into the clash with Zverev, a rising star of tennis.
The third-ranked Djokovic taught Zverev a lesson.
The 21-year-old German made an iffy start, beginning his first service game with a double-fault.
The world number five - who beat 14-time Grand Slam champion Djokovic in their only previous meeting, last year in the Rome Masters final - recovered his poise for a time.
The first set went with serve, and some big serves at that, until Djokovic grabbed the break to go 4-2 up.
Zverev threatened to unravel and conceded the set in barely 30 minutes after landing a routine smash into the net, to gasps from the arena.
The young German, who is yet to win a Grand Slam despite his undoubted talent, angrily threw his racquet at the start of the second set as Djokovic ramped up the pressure.
An increasingly exasperated Zverev issued more punishment to his racquet at 3-1 down, earning a code violation and tossing the battered piece into the crowd.