David Goffin stunned Rafael Nadal in London but the Belgian labelled his sensational semi-final over Roger Federer at the ATP Finals as the best of his career.

Goffin denied 19-time grand slam champion Federer a spot in the season-ending final after rallying to a 2-6 6-3 6-4 victory at the O2 Arena on Saturday.

The Belgian upstaged world number one Nadal in his opening match and the four-time ATP Tour winner showed that was no fluke by sending Federer packing.

"Both [wins] are really special. It was the first time against Rafa," Goffin said.

"Then the semi-final for the first time for me here, and to beat Roger for the first time here in such a big event, big tournament, it was the perfect moment.

"It is the best win of my career, for sure."

"For the first time I played my best tennis, and I played a little bit more relaxed after the first set. I started to feel the ball really well for the first time, and continued to serve and played my best tennis," he added.

Goffin will now face Grigor Dimitrov in Sunday's showpiece – holding an unfavourable 1-4 win-loss record against the Bulgarian.

Dimitrov came from a set down to beat Jack Sock 4-6 6-0 6-3 to reach the final but he is wary of Goffin.

"Obviously he's done well this week. I mean, beating Rafa, Roger, those are big wins," Dimitrov said.

"I think his confidence is going to be up there. But I'm not going to focus in on his confidence or his game right now. I'm just focusing on myself, the recovery that I'm going to do today. Of course, it's not going to be the same after I played against him… I think also it is a different stage for both of us."