Juan Martin del Potro is finally getting the better of Roger Federer again, in a way that no player had managed in a decade.
To end the season with a title, though, he may have to get past the Swiss great again in just two days.
Using his hard serve and booming forehand, Del Potro clinched the last spot in the semi-finals of the ATP finals by overcoming the already qualified Federer 7-6 (3), 4-6, 6-3 in their final round-robin match.
It was Federer's second straight loss to Del Potro, who also beat him in the final in the Swiss star's hometown tournament in Basel last month. It's the first time a player has beaten Federer in two straight indoor tournaments since Lleyton Hewitt did it in 2002.
"It's a little record, but really tough to do it," Del Potro said. "To beat Federer is not easy, for sure. But I didn't think about the semis or trying to qualify for the next round. Just was thinking about my match, doing the same things like in Basel."
Del Potro beat Federer in the 2009 US Open final for his only Grand Slam title, leading many to predict that the tall Argentine would challenge for many more major titles. But he then had much of the next season ruined by a serious wrist injury and has struggled to re-establish himself at the top.
This year, he wasted a two-set lead against Federer in the French Open quarterfinals and then lost to him in the longest Olympic match ever, an epic semi-final that ended 19-17 in the third set.
"Good effort (from) his side to get me twice in a row now," Federer said. "I hoped I didn't have to lose against him again today."
It was Federer's first loss in the indoor tournament since 2009, ending a 12-match winning streak. He went undefeated in winning the last two titles and had won his first two group-stage matches this year.
Del Potro's win also leaves David Ferrer and Janko Tipsarevic with nothing but prize money to play for in their final group-stage match as both players are eliminated.
However, that result will still decide whether Federer or Del Potro finishes top of Group B and will therefore impact the semi-final match-ups at the season-ending event.
The winner of the group will face Andy Murray on Sunday, while the second-place finisher has to take on top-ranked Novak Djokovic. The final is Monday.
"Now you have three big names in the semi-finals, and one big guy," the 6-foot-6 (198-centimeter) Del Potro said.
Del Potro converted his only break point of the match in the opening game of the deciding set and then held his own serve comfortably to wrap up the win at London's O2 Arena.
He converted his first match point with a forehand passing shot that Federer could only return into the net with a lunging backhand volley.
Both players finished the group stage with 2-1 records. Ferrer can also finish 2-1 by beating Tipsarevic, who is 0-2, but is guaranteed to finish with fewer sets won than Federer and Del Potro. If Federer had won, Ferrer would have advanced with a victory against Tipsarevic.
"I really wanted to give (Ferrer) a chance and give myself the best possible preparation for the semis, really hoped I could win," Federer said. "But more disappointed for (Ferrer) than I am about losing today, to be quite honest."
While Federer had already secured a berth in the semi-finals, he looked the more likely to take control of the match in the first set. However, he failed to convert three break points when leading 4-3, and Del Potro eventually held serve after a point where a call on the same shot was overturned twice.
A backhand from Federer was called just wide by the line judge, only for chair umpire Lars Graff to declare that the ball was in. Del Potro then challenged Graff's correction, and a Hawk-Eye replay showed that the ball just missed the line.
Federer, who had never looked threatened on his serve, then committed a series of uncharacteristic mistakes in the tiebreaker as Del Potro won six straight points to take a 6-1 lead. He then converted his third break point when Federer's backhand return sailed wide.
Federer bounced right back, breaking the Argentine in the next game. He then lost just five points on his serve the rest of the second set to level the match.
But in the third set, it was Del Potro's turn to break in Federer's first service game, and the Swiss never looked likely to muster another comeback.