World number one Novak Djokovic put in a ruthless display to beat Kevin Anderson and reach the final of the ATP Finals in London.
The Serb will play Germany's Alexander Zverev in Sunday's season finale after a 6-2 6-2 victory.
In what was a re-run of July's Wimbledon final, Djokovic dominated in the same way this time to reach his seventh final of the year.
The 14-time Grand Slam champion has not dropped a set all week.
"I think it was the best match I've played so far this week," Djokovic said after sealing victory in one hour and 16 minutes with a forehand that bounced off the top of the net.
"It came at the right time. Kevin has been playing great tennis this week.
"He lost serve in the first game which was big because he relies so much on his serve. I tried to win as many points on his second serve as possible. It worked very well."
Djokovic serves up a masterclass
Widely seen as the best returner in the game, Djokovic has in fact been notable for his impeccable serving this week.
He is yet to be broken in four matches - facing just two break points - and it took Anderson until the sixth game of the opening set to win his first point on the Serb's serve.
The South African won only seven points on the Djokovic serve in the entire match.
Where Anderson delivered big serves that averaged more than 130mph, Djokovic's were about the 114mph mark but were all about accuracy, placement and setting up the next shot.
He beat Anderson 6-4 on aces - no mean feat against a player so known for racking up the aces that he has been donating money to charity for each one this week.
And his total of first-serve points won was a huge 85%.
Asked in his on-court interview if it was some of the best serving he has produced, Djokovic replied: "Possibly. It is not very common to serve more aces than Kevin. That stat helps the confidence."
Anderson was making his debut at the ATP Finals, having enjoyed a successful year where he won two titles and reached a career-high ranking of five.
But he was outclassed and under pressure from the off, with Djokovic breaking in the opening game and creating two further break points in Anderson's next service game.
While the South African held off that challenge when Djokovic hit wide, he gifted him another break in the seventh game when he sent a forehand long.
The second set followed the same pattern with Djokovic capitalising on an Anderson double-fault to establish another early break.
A crosscourt forehand earned the top seed a break for 4-1 and while Anderson limited the damage in the next game with a hold, Djokovic served out the match with style.
Next up, Zverev... again
Standing between Djokovic and a record-equalling sixth title at the season-ending tournament is 21-year-old Zverev, who beat 20-time Grand Slam champion Roger Federer 7-5 7-6 (7-5) earlier on Saturday.
The pair have already met this week, with the German pushing the Serb hard in the opening set of their group match before seeming to run out of steam as Djokovic won 6-4 6-1.
"I played very well in the group stage against Sascha [Zverev] but I don't think he was close to his best," said Djokovic, who also beat Zverev in the Shanghai semi-finals in October.
"He had a great match today against Roger and he has been serving well, so it will be a similar approach as today, trying to get as many first serves back.
"It is the last match of the year for both of us, so let the better player win."
Victory for Djokovic would cap a remarkable year in which he came back from elbow surgery to win Wimbledon and the US Open and returned to the top of the world rankings for the first time in two years.